diff --git a/src/kiri/dev/cam/Makera.Carvera.Air.json b/src/kiri/dev/cam/Makera.Carvera.Air.json index 8474dd185..eba7c3cc2 100644 --- a/src/kiri/dev/cam/Makera.Carvera.Air.json +++ b/src/kiri/dev/cam/Makera.Carvera.Air.json @@ -19,11 +19,11 @@ "M30 ; program end" ], "gcodeDwell": [ - "G4 P{time} ; dwell for {time}ms" + "G4 P{time} ; dwell for {time}s" ], "gcodeSpindle": [ "M3 S{spindle}", - "G4 P4000" + "G4 P4 ; pause during 4 seconds" ], "gcodeChange": [ "M6 T{tool} ; change tool to '{tool_name}'" diff --git a/src/kiri/mode/cam/work/op-area.js b/src/kiri/mode/cam/work/op-area.js index 4c42ee5c2..abf4c8ab1 100644 --- a/src/kiri/mode/cam/work/op-area.js +++ b/src/kiri/mode/cam/work/op-area.js @@ -471,7 +471,8 @@ class OpArea extends CamOp { while (areas?.length) { let min = { dist: Infinity, - area: undefined + area: undefined, + point: undefined }; for (let area of areas.filter(p => !p.used)) { @@ -486,12 +487,14 @@ class OpArea extends CamOp { if (find.distance < min.dist) { min.area = area; min.dist = find.distance; + min.point = find.point } } // if we have a next-closest top poly, pocket that if (min.area) { min.area.used = true; + printPoint = min.point; pocket({ cutdir: op.ov_conv, depthFirst: process.camDepthFirst, diff --git a/src/load/svg.js b/src/load/svg.js index 8024b6f83..f3519afa5 100644 --- a/src/load/svg.js +++ b/src/load/svg.js @@ -44,7 +44,7 @@ export function parse(text, opt = { }) { if (points.length < 3) { continue; } - let poly = newPolygon().addPoints(points.map(p => newPoint(p.x, -p.y, 0))); + let poly = newPolygon().addPoints(points.map(p => newPoint(p.x, -p.y, 0))).clean(); if (poly.appearsClosed()) poly.points.pop(); if (type === 'polyline') poly.setOpen(true); poly._svg = { width, miter };