Otherwise if a retracted move had a different Z coordinate, this would not be put in the final print. It's pretty simple to extend it this way.
Fixes#7458.
Added an enabled flag, allowing users to enable/disable ChangeAtZ layers at will without removing them
Improved performance of GCodeCommand, deferred parsing of arguments to when it is first requested as opposed to all the time
Removed type hints because the supported python version in Cura is too low
The name wasn't really covering what it was doing. It wasn't setting the duration of the
pause, it was setting the timeout for the stepper disarm.
Also, ive set the defaults so that the behavior remains the same, unlesss a user
explicitly enables this
CURA-7331
Added additional option for disabling all retract options
Added more comments.
Added support for firmware based retractions.
Added support for outputting changes to LCD (untested).
Added type hints to most functions and variables.
Created GCodeCommand class for better detection of G1 vs G10 or G11 commands, and accessing arguments.
Fixed issue of properly restoring previous values in single layer option.
Improved wording of Single Layer vs Keep Layer to better reflect what was happening.
Moved most GCode methods to GCodeCommand class.
- Fixed filename appearing in middle of text when scrolling is disabled and displaying max layer.
- Fixed filename appearing twice when scrolling is enabled and displaying max layers.
Fixed bugs where TargetZ, Bed Temp, Extruder Temps, Retract Feed Rate and Retract Length weren't properly considered as floats. Now capable of properly targeting decimal Z values, and altering others as decimals
Updated debug cases to test for it.
Added comments.
Added support for changing Retract Length and Speed.
Applied code refactoring to clean up various coding styles.
Broke up functions for clarity.
Fixed issue of cumulative ChangeZ mods so they can now properly be stacked on top of each other.
Removed layer spread option in favor for fixing ChangeZ stacking
Split up class so it can be debugged outside of Cura.
Previously, the line after the layer change would also contain the z height.
If not found, the could would break the per-line reading, and skip to the next layer.
However, if the code doesn't contain the Z on the first gcode line of the layer, this would cause it to skip past all layers, until there was a layer with the Z in the first line (so this also explains the 'late' pauses).
I just ignored the optimization and made it a continue.
I checked, and I don't think there's any way this causes the postproc.-gcode to be inserted twice, since it returns the complete data after insering it once.
CURA-6965