Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: lift Z on retraction, except on first N layers #3057

Closed
dc42 opened this issue Sep 6, 2015 · 7 comments
Closed

Feature request: lift Z on retraction, except on first N layers #3057

dc42 opened this issue Sep 6, 2015 · 7 comments
Labels
Done This issue is implemented and considered complete.
Milestone

Comments

@dc42
Copy link

dc42 commented Sep 6, 2015

Please can the "Lift Z" option in Printer settings -> Extruder 1 have a "except on first N layers" option. I generally find "Lift Z" works well, however on prints with sharp pointy corners it tends to cause that part of the print to detach from the bed if a lift occurs at that point in the first layer or two.

@a4jp-com
Copy link

a4jp-com commented Sep 7, 2015

Maybe an option like that would help but also changing the heat settings is another way to fix this. Can you post a picture of one of your printed models with the problem? What type of print bed do you have? Also are you using a skirt and raft?

@luke321
Copy link

luke321 commented Sep 9, 2015

I am currently working on a Gcode Post Processor which eliminates z Lift for a certain number of layers and for short travel distances.
This is definitely a nice feature to reduce print time and increase print quality!

@a4jp-com
Copy link

a4jp-com commented Sep 9, 2015

Cool. I always went with the heat settings to fix problems like this but anything that makes printing easier is greatly welcomed ^^

@Lenbok
Copy link
Contributor

Lenbok commented Sep 11, 2015

This would also be addressed by #1316 (which discusses e.g. auto adding "mouse ears" on sharp corners)

@alranel
Copy link
Member

alranel commented Dec 18, 2015

This is complementary to #763

@alranel
Copy link
Member

alranel commented Dec 18, 2015

I'll add two new options:

  • --retract-lift-above
  • --retract-lift-below

Both will accept an absolute Z. If below is zero, lift will take place on the entire print.

@alranel
Copy link
Member

alranel commented Dec 18, 2015

Done.

@alranel alranel closed this as completed Dec 18, 2015
@alranel alranel added this to the 1.3.0 milestone Dec 18, 2015
@alranel alranel added the Done This issue is implemented and considered complete. label Dec 18, 2015
a4jp-com added a commit to a4jp-com/Slic3r that referenced this issue Dec 20, 2015
lordofhyphens added a commit to lordofhyphens/Slic3r that referenced this issue Jun 6, 2016
* Releasing 1.2.8

* More fixes for Unicode path handling (thanks @josefprusa for Czech test VM)

* Bump version number

* Limit bridge over sparse infill to areas that can absorb such extrudate. slic3r#2899

* Minor adjustment of infill_overlap math

* Raise the thickness threshold used for generating thin walls. TODO: don't enforce this at the segment level but consider the average thickness of an entire polyline and compare it to the total length. slic3r#2910

* Typo

* Fixed regression casusing some rare STL files not to parsed correctly because of lack of the solid name. slic3r#2914

* Fix minor rendering glitch in 2D toolpaths preview

* Releasing 1.2.9

* Bugfix: binary ASCII files were not written with the correct fopen() mode. slic3r#2928

* Disable testing of modules that have known broken tests

* Add perl 5.22 to Travis CI

* Revert "Add perl 5.22 to Travis CI"

This reverts commit 3b7cb67.

* Ported PlaceholderParser::apply_env_variables() to XS

* Ported Config::setenv() to XS

* Finished porting PlaceholderParser to XS

* Ported Slic3r::GCode::AvoidCrossingPerimeters to XS

* Removed setenv() test as we can't test environment variables in Perl since they are now set in XS

* Ported Slic3r::GCode::Wipe storage to XS

* Ported Slic3r::GCode::OozePrevention storage to XS

* Updated test

* Ported Slic3r::GCode storage to XS

* Ported more Slic3r::GCode methods to XS

* Ported Slic3r::GCode::needs_retraction() to XS

* Make tests happy

* Macro for readability

* Use macro in PrintConfig.hpp

* Ported GCode::set_extruder() and OozePrevention

* Ported GCode::travel_to() to XS

* Ported GCode::extrude_path() to XS (speed boost!)

* Use GCodeWriter for path segments (refactoring)

* Ported GCode::set_extruders() and GCode::change_layer() to XS

* Finished porting Slic3r::GCode to XS (speed boost!)

* Initial work for porting PerimeterGenerator to XS

* Bugfix: bridge anchors were shortened under rare circumstances

* Bugfix: changing range-based layer heigths didn't trigger background processing. slic3r#2958

* Bugfix: zooming in empty layers preview (because of disabled background processing) crashed

* More work for porting PerimeterGenerator to XS

* Fix compilation on Windows due to lack of setenvt(). slic3r#2973

* Finished porting PerimeterGenerator to C++

* Ported make_perimeters() to C++

* Fixed potential hang in PerimeterGenerator.cpp

* Update GCode.cpp

Bugfix slic3r#3038

* Fix for slic3r#3069

* Finished porting LayerRegion to C++

* Bump version number

* Added a new grid infill pattern

* Several improvements to the print job queue

* Test button for serial connection

* Fixed memory leak

* Fixed memory leak

* More memory leaks fixed

* Removed debugging statement

* More memory leaks fixed

Conflicts:

	lib/Slic3r/GUI/Plater.pm

* Keep print job order

* Manual control

* Implemented connection timeout in C++

* Fixed manual control buttons

* Smarter logic for displaying printer panels

* Try to fix broken wx scrolling

* Display a warning when no USB/serial printers were configured

* Bugfix: wrong error handling in GCodeSender

* Fix incorrect comments to temperature-setting gcode

* Fix G-code checksum

* Bugfix: wrong default in extruder_offset tooltip. slic3r#3051

* Fixed regression causing empty prints to hang. slic3r#3107

* When background processing fails because of an error, display it in an explicit dialog

* Fixed one more memory leak

* Include the option category for first_layer_extrusion_width. slic3r#3061

* Prompt user when setting wipe + use_firmware_retraction. slic3r#3056

* Bugfix: error when setting per-region percent perimeter_extrusion_width. slic3r#2983

Conflicts:

	lib/Slic3r/Layer.pm

* Refactoring: prefix inc/dec operators for iterators

* Style fix: const for some functions

* Fix: Initializer list, right initialisation order

* std::list::empty faster than std::list::size (for C++03)

* Fix: memory leak in ExPolygon::triangulate_p2t

* Function arguments passed by reference

* Function arguments passed by reference

* Config: pass value as a reference

* Fix for -Wmaybe-uninitialized warninig

* Removed unused variables

* Addtional check for TPPLPoly::operator=

* Fix signed-unsigned compare

* Fixed compilation warnings and a potential bug in MotionPlanner, as reported in slic3r#3054

* Replace the flip word with mirror. slic3r#3060

* Added more search paths for Boost on Win32

* Fix compilation on Windows

* Improve Boost path detection

* Remove Boost from distribution and fix some more things for Windows compilation

* More compilation changes for Win32

* Fix serial port detection on Windows

* More fixes for serial port detection on Windows

* Prevent double connection check

* Two fixes for --debug

* Two fixes for --debug

* Smoother manual control movements

* Fix rendering on Windows

* Some fixes and improvements to controller

* Projector for DLP

* Re-enable serial connection for DLP projector

* More customizable options for DLP projector

* Slice objects even if background processing is disabled

* Don't crash when no serial ports are available on Windows

* Several fixes to GCodeSender, including compilation on older OS X and DTR reset

* Changed default settings for DLP projector and changed time options from integer to decimal

* Added libboost-* packages for Travis CI build

* Further improvements for compilation (Ubuntu)

* Further improvements for compilation (Ubuntu)

Conflicts:

	.travis.yml

* One more fix for Travis CI

* More small fixes for compilation on Linux

* One more fix for Travis CI

* More small fixes for compilation on Linux

* Add manual control to DLP projector too

* Added manual projection control

* Let user configure travel speed in manual control dialog

* Prevent absolute movement if user hasn't homed both X and Y

* Limit slider to number of layers

* Fix projection of slices with holes because wxDC is not honoring the fill rule

* Project grid

* New option for inverting the Y axis in projection

* Removed debugging comment

* Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator

* Bugfix: prevent crash when setting a Choice field to a non-indexed value

* Change order in DLP projection

* Ported _arrange() and arrange_object() to XS

* Ported mode Model methods to XS

* Ported a couple more methods to XS

* Ported Layer::maker_perimeters() to XS

* Make test happy

* Try to fix compilation on older Perls

* Improvements to DLP projector: disable all options while printing; apply config changes to the printer preset so that user can save them; show total and remaining print time

* Disable screensaver while projecting (untested on Windows)

* Fix a compilation error on Win32

* Upgrade Travis CI conf

* Fixed Travis CI conf

* Add color icons to menu items about axes. slic3r#3121

* New "Scale to size" command(s). slic3r#2711

* Fix a minor glitch with scrollbars in OverrideSettingsPanel

* Preserve the current layer when refreshing the 3D preview

* Fix compilation on Windows

* Fix comment stripping in sender

* Bump version number

* Separate libslic3r code from slic3r application code

* Import config bundle automatically if found in application directory

* Large refactoring of the Config classes

* Remove any Perl related code from libslic3r

* Fix typo slic3r#3152

* Fix compilation

* One more fix for compilation

* Updates to GUI projector: fix buttons not updating when print finished; ring a bell at that time; disable screensaver not just when printing but until the DLP projector window gets closed

* Move the position_screen method to the Screen class

* Bugfix: missing include assert.h slic3r#3155

* Live preview in the cut dialog

* Fix one regression in arrange

* Prevent flickering

* Refactored the Config XS bindings

* More refactoring on Config XS bindings

* More efficient syntax for the PrintConfigDef constructor

* Removed debugging statements

* Don't show any dialog if 0 configs were imported

* Some changes to DLP projector

* Fix compilation with GCC

* Typo

* New --retract-lift-above and --retract-lift-below options. slic3r#763 slic3r#3057

* Implement resizable left column in preset editor. slic3r#3151

* One more fix for compilation with older compilers

* Fix regression in lift, includes regression test

* Use bridge flow and speed for solid_infill_every_layers

* Fixed error in porting causing wrong moves with avoid_crossing_perimeters

* Fix false positive in lift unit test

* Fixed ported code of PerimeterGenerator

* Very minor code improvements

* Bugfix: external details were simplified too much when using default settings at low layer height, because the internal flow was erroneously taken into account. slic3r#2807

* Fix Slic3r crash when opening About dialog

* Minor code cleanup here and there

* Editable text control for specifying the cut Z in cut dialog

* Ignore cut result if user didn't click the cut button

* Refactor cutting logic, don't slice in 3DScene

* Fixes and improvements to MotionPlanner, much smarter now

* Force the 'nearest' strategy for starting skirt loops

* Revert "Implement resizable left column in preset editor. slic3r#3151"

This reverts commit 4b30d67.

* Dump serial messages to file in order to debug communication issues

* @farhaven: There's one more wxCLOSE in lib/Slic3r/GUI/Projector.pm, that one should probably be changed as well.

* Implement serial port baudrate selection for OpenBSD

Signed-off-by: Gregor Best <[email protected]>

* Don't toggle support_material_enforce_layers field

support_material_enforce_layers works independently of the support_material ||
raft options, so we should not disable the field when support material
generation is disabled.

Fixes: slic3r#3046

* New icon for Infill (credits: Carlo Mariella)

* Fixed regression in the C++ port of PerimeterGenerator causing gaps to be filled twice

* Refactoring: new Layer::make_fill() method

* Don't use equality comparisons for floats

This fixes an issue where F0 moves arise from 0-width (or 0 layer
height?) support material segments when using autospeed.

Fixes: slic3r#3261

* fix a segment fault by admesh

* Fixed float comparison in combine_infill

* Fixed return value for deserialize() implementations. slic3r#3250

* Make GCodeSender more robust (keep more than one sent line) and fix a memory access problem in the asio write buffer

* Bugfix: memory corruption in BridgeDetector (thanks @JakeQZ for the patch). slic3r#3267

* Support incompatible change in Boost 1.60. slic3r#3117

* Raise allowed temperatures to 500°C. slic3r#3114

* Fix issue with undefined BOOST_VERSION

if BOOST_VERSION < 106000 always succeeds because BOOST_VERSION is
undefined.  In order to avoid the code for new boost, we need
<boost/version.hpp>

* Bugfix: crash when input to bed shape options was '-'. slic3r#3254

* Fixed regression in bridging caused by error in porting. Includes regression test. slic3r#3175

* Variable-width gap fill. Yay! slic3r#2960

* Variable-width thin walls. Yay!

* When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. slic3r#2970

Conflicts:

	lib/Slic3r/Model.pm

* Fixed dragging in 3D plater having some glitches with multipart objects

* Missing #include

* Update ISSUE_TEMPLATE.md

* Rewritten the medial axis algorithm, now more robust (don't just prune MAT from endpoints, but validate all single edges)

* Moved CONTRIBUTING.md to .github/

* Fixed type error

* Actually add CONNTRIBUTING.md, not included in f5a5eb3

* Filter gap fill using length relative to the actual width. slic3r#2781

* Tune gap fill and thin walls to less extreme values

* Refactored calls to Wx::Bitmap->new

* One more year

* Fix layer time slowdown

The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex
in CoolingBuffer.pm.

Fixes: slic3r#3134

* Update tests for new GCode style and markers

* Fixed compilation on OS X

* Support static linking of the Boost libs

* Account for travel moves in elapsed_time

* Use float for elapsed_time

When accumulating elapsed_time from many moves that take less than 1
second, elapsed_time does not get incremented because (unsigned int)0.9
= 0.

* Fix cooling not working if !gcode_comments

The cooling markers were being passed into GCodeWriter::set_speed() as a
comment which were being ignored if gcode_comments was false.

Fixes: slic3r#3325

* The "controller" tab and the settings of the USB/serial connection was
made configurable. Now one may hide the "controller" tab and the USB/serial
connection configuration from the preferences. This is useful for someone,
who never connects his printer to the computer by a cable.

* More refactoring to medial axis and gap fill, more robust

* Added a short OpenSCAD description to aid in the creation of simple modifier meshes that describe a change every N layers

* Bugfix: homing was not correctly saved

* Add XYZ homing button to printer manual control

* Update solid_layers.scad

Oops, left a hardcoded 0.3 in. Fixed.

* Feature: try to match horizontal surfaces with adaptive slicing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Done This issue is implemented and considered complete.
Projects
None yet
Development

No branches or pull requests

5 participants