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 })); }