From 2ae2405792896c85c610d9ebb03a27e4dbf3470d Mon Sep 17 00:00:00 2001 From: Salandora Date: Fri, 1 Jul 2016 18:28:50 +0200 Subject: [PATCH] Add diff part to retract too because of things like G1 X-10 Y-10 Z1 E-5 (cherry picked from commit de325c3) --- src/octoprint/util/gcodeInterpreter.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/octoprint/util/gcodeInterpreter.py b/src/octoprint/util/gcodeInterpreter.py index 1a5178d2..6bc0a967 100644 --- a/src/octoprint/util/gcodeInterpreter.py +++ b/src/octoprint/util/gcodeInterpreter.py @@ -164,7 +164,12 @@ class gcode(object): time2 = abs(e / feedRateXY) totalMoveTimeMinute += max(time1, time2) elif moveType == "retract": - totalMoveTimeMinute += abs(e / feedRateXY) + diffX = oldPos[0] - pos[0] + diffY = oldPos[1] - pos[1] + diffZ = oldPos[1] - pos[1] + time1 = math.sqrt(diffX * diffX + diffY * diffY + diffZ * diffZ) / feedRateXY + time2 = abs(e / feedRateXY) + totalMoveTimeMinute += max(time1, time2) if moveType == 'move' and oldPos[2] != pos[2]: if oldPos[2] > pos[2] and abs(oldPos[2] - pos[2]) > 5.0 and pos[2] < 1.0: