diff --git a/src/kiri/print.js b/src/kiri/print.js index f830fda5..e30f06ff 100644 --- a/src/kiri/print.js +++ b/src/kiri/print.js @@ -628,7 +628,8 @@ coast: firstLayer ? 0 : coastDist, extrude: pref(opt.extrude, shellMult), onfirst: function(firstPoint) { - if (startPoint.distTo2D(firstPoint) > retractDist) { + let from = lastOut ? lastOut.point.sub(offset) : startPoint; + if (from.distTo2D(firstPoint) > retractDist) { retract(); } } diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index b59408c5..9d57604f 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -407,7 +407,7 @@ // output seek to start point between mesh slices if previous data printPoint = print.slicePrintPath( slice, - isBelt ? newPoint(-wtb.w, wtb.d * 2, 0) : printPoint.sub(offset), + slice.belt && slice.belt.touch ? newPoint(-wtb.w, wtb.d * 2, 0) : printPoint.sub(offset), offset, layerout, {