From d40f19fe50e2da9e612f839e62f0c98646150a74 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 14 Dec 2025 10:23:35 -0500 Subject: [PATCH] add area trace thru for better outline / rough behavior --- src/kiri/mode/cam/op-area.js | 2 +- src/kiri/mode/cam/op-outline.js | 2 ++ src/kiri/mode/cam/op-rough.js | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/kiri/mode/cam/op-area.js b/src/kiri/mode/cam/op-area.js index b4e2a96a..938be92f 100644 --- a/src/kiri/mode/cam/op-area.js +++ b/src/kiri/mode/cam/op-area.js @@ -222,7 +222,7 @@ class OpArea extends CamOp { } else if (mode === 'trace') { let { tr_type } = op; - let zs = down ? base_util.lerp(zTop, zBottom || area.minZ(), down) : [ bounds.min.z ]; + let zs = down ? base_util.lerp(zTop, op.thru ? zBottom : area.minZ(), down) : [ bounds.min.z ]; let zroc = 0; let zinc = 1 / zs.length; for (let z of zs) { diff --git a/src/kiri/mode/cam/op-outline.js b/src/kiri/mode/cam/op-outline.js index 11efd33c..7fd52c55 100644 --- a/src/kiri/mode/cam/op-outline.js +++ b/src/kiri/mode/cam/op-outline.js @@ -49,6 +49,7 @@ class OpOutline extends CamOp { steps: op.wide ? op.steps + 1 : 1, surfaces: {}, tool, + thru: true, tr_type: 'outside', })); } else { @@ -75,6 +76,7 @@ class OpOutline extends CamOp { spindle, surfaces: {}, tool, + thru: true, tr_type: 'outside', })); if (!inside) { diff --git a/src/kiri/mode/cam/op-rough.js b/src/kiri/mode/cam/op-rough.js index 4f8f1774..77724c70 100644 --- a/src/kiri/mode/cam/op-rough.js +++ b/src/kiri/mode/cam/op-rough.js @@ -96,7 +96,8 @@ class OpRough extends CamOp { ov_botz: op.ov_botz, ov_topz: op.ov_topz, areas: { [widget.id]: areas.map(p => p.toArray()) }, - surfaces: {} + surfaces: {}, + thru: true })); }