From 9da67ea66d4f6e2a1493450cd303d05c4d54a30b Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 13 Dec 2025 16:30:34 -0500 Subject: [PATCH] fix surface slice visualization --- src/kiri/mode/cam/op-area.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/kiri/mode/cam/op-area.js b/src/kiri/mode/cam/op-area.js index bc00aac6..442e9840 100644 --- a/src/kiri/mode/cam/op-area.js +++ b/src/kiri/mode/cam/op-area.js @@ -353,14 +353,14 @@ class OpArea extends CamOp { }); raster.terminate(); - // todo: port clever bits from topo3 for inside/outside detection and tab clipping - // convert terrain raster output back to open polylines for (let path of output.paths) { path = newPolygon().fromArray([1, ...path]); if (op.refine) path.refine(op.refine); surface.push(path); - newLayer().output() + let slice = newLayer(); + slice.camLines = [ path ]; + slice.output() .setLayer(rename ?? "linear", { line: color }, false) .addPolys([ path ]); } @@ -373,6 +373,7 @@ class OpArea extends CamOp { this.areas = areas = areas.map(area => { return area.filter(slice => slice.camLines && slice.camLines.length); }).filter(a => a.length); + // only render slices containing ares to mill addSlices(areas.flat().filter(s => s.camLines && s.camLines.length)); }