aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToby Harper <toby@fuith.org>2020-08-08 02:15:03 +1000
committerGitHub <noreply@github.com>2020-08-07 12:15:03 -0400
commitf851cfae46d79cebce79af870a12cb022f42c55a (patch)
treeb3fe8709a2027e77716879c321f263b07309fedb
parentc9e7119a933530c2989c94f7333bbea963a47fbd (diff)
downloadkutter-f851cfae46d79cebce79af870a12cb022f42c55a.tar.gz
kutter-f851cfae46d79cebce79af870a12cb022f42c55a.tar.xz
kutter-f851cfae46d79cebce79af870a12cb022f42c55a.zip
gcode_arcs: increment absolute e coord for each arc segment (#3162)
Arc travel was working but extrusion in absolute mode seemed not to be happening at all. This was because the E coord being sent with each G1 segment of the arc was not incrementing, effectively the same value was being sent over and over so the total extrusion for the whole arc was the amount for just one segment which is an extremely tiny amount. My change increments e_base by e_per_move for each subsequent coord when in absolute extrude mode which results in the correct absolute E value being sent for each segment. Signed-off-by: Toby Harper <toby@fuith.org>
-rw-r--r--klippy/extras/gcode_arcs.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/klippy/extras/gcode_arcs.py b/klippy/extras/gcode_arcs.py
index a7546bda..13a02697 100644
--- a/klippy/extras/gcode_arcs.py
+++ b/klippy/extras/gcode_arcs.py
@@ -55,6 +55,8 @@ class ArcSupport:
g1_params = {'X': coord[0], 'Y': coord[1], 'Z': coord[2]}
if e_per_move:
g1_params['E'] = e_base + e_per_move
+ if gcodestatus['absolute_extrude']:
+ e_base += e_per_move
if asF is not None:
g1_params['F'] = asF
g1_gcmd = self.gcode.create_gcode_command("G1", "G1", g1_params)