From f127383944dfd73eff27b3fc56ef8bdfa96fe45e Mon Sep 17 00:00:00 2001 From: David-John Miller Date: Sun, 19 May 2013 23:26:49 +0200 Subject: [PATCH] Fixing G2 and G3 Interpolation Arc interpolation was using a single reference to the point, which was being changed on every step generating a 0 delta, which means the arc was effectively generating a single line for arcs --- src/replicatorg/app/gcode/GCodeParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/replicatorg/app/gcode/GCodeParser.java b/src/replicatorg/app/gcode/GCodeParser.java index 16118108..62ae0afa 100644 --- a/src/replicatorg/app/gcode/GCodeParser.java +++ b/src/replicatorg/app/gcode/GCodeParser.java @@ -145,6 +145,7 @@ Queue< DriverCommand > drawArc(Point5d center, Point5d endpoint, boolean clockwi else step = steps - s; + newPoint = new Point5d(current); // calculate our waypoint. newPoint.setX(center.x() + radius * Math.cos(angleA + angle * ((double) step / steps))); newPoint.setY(center.y() + radius * Math.sin(angleA + angle * ((double) step / steps)));