diff options
author | Jaime van Kessel <nallath@gmail.com> | 2021-11-08 12:23:49 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2021-11-08 12:23:49 +0300 |
commit | 561d0784f8794ccad6623ef71cbda829bf9867b3 (patch) | |
tree | 0b0d9f0cb6581a0ef4a53c2da44d13526d2ec6b5 /plugins | |
parent | a613a7075805b087353c2c0e06a131b4e8eb678a (diff) | |
parent | fd5b2482967686d29dce783df9814b5979c572d0 (diff) |
Merge branch 'CURA-8522_pause_extrusion_interruption' of github.com:Ultimaker/Cura
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/GCodeReader/FlavorParser.py | 2 | ||||
-rw-r--r-- | plugins/PostProcessingPlugin/scripts/PauseAtHeight.py | 17 |
2 files changed, 9 insertions, 10 deletions
diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 48a81324f6..bb99aa59ec 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -198,7 +198,7 @@ class FlavorParser: # Only when extruding we can determine the latest known "layer height" which is the difference in height between extrusions # Also, 1.5 is a heuristic for any priming or whatsoever, we skip those. - if z > self._previous_z and (z - self._previous_z < 1.5): + if z > self._previous_z and (z - self._previous_z < 1.5) and (params.x is not None or params.y is not None): self._current_layer_thickness = z - self._previous_z # allow a tiny overlap self._previous_z = z elif self._previous_extrusion_value > e[self._extruder_number]: diff --git a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py index a9fd602dab..7b1601aaf0 100644 --- a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py +++ b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py @@ -489,18 +489,17 @@ class PauseAtHeight(Script): # Set extruder resume temperature prepend_gcode += self.putValue(M = 109, S = int(target_temperature.get(current_t, 0))) + " ; resume temperature\n" - # Push the filament back, - if retraction_amount != 0: - prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = retraction_speed * 60) + "\n" + if extrude_amount != 0: # Need to prime after the pause. + # Push the filament back. + if retraction_amount != 0: + prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = retraction_speed * 60) + "\n" - # Optionally extrude material - if extrude_amount != 0: + # Prime the material. prepend_gcode += self.putValue(G = 1, E = extrude_amount, F = extrude_speed * 60) + "; Extra extrude after the unpause\n" - # and retract again, the properly primes the nozzle - # when changing filament. - if retraction_amount != 0: - prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n" + # And retract again to make the movements back to the starting position. + if retraction_amount != 0: + prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n" # Move the head back if park_enabled: |