From e06ad5e421d44973961684b271de8023e5e19452 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 30 Jan 2021 19:48:18 -0500 Subject: [PATCH] fix registration depth for anchor and widget / stock deltas --- src/mode/cam/client.js | 1 + src/mode/cam/ops.js | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/mode/cam/client.js b/src/mode/cam/client.js index 7fd97d3f..60afd537 100644 --- a/src/mode/cam/client.js +++ b/src/mode/cam/client.js @@ -544,6 +544,7 @@ } let areas = (poppedRec.areas[widget.id] || []); let stack = new KIRI.Stack(widget.mesh); + // console.log({match: areas, for: widget.id}); widget.trace_stack = stack; widget.traces.forEach(poly => { let match = areas.filter(arr => poly.matches(arr)); diff --git a/src/mode/cam/ops.js b/src/mode/cam/ops.js index a8e82d1a..331d1e0f 100644 --- a/src/mode/cam/ops.js +++ b/src/mode/cam/ops.js @@ -907,6 +907,7 @@ updateToolDiams(tool.fluteDiameter()); let { stock } = settings, + tz = widget.track.pos.z, lx = bounds.min.x, hx = bounds.max.x, ly = bounds.min.y, @@ -918,7 +919,10 @@ dx = (stock.x - (hx - lx)) / 4, dy = (stock.y - (hy - ly)) / 4, dz = stock.z, - points = []; + points = [], + wo = stock.z - bounds.max.z, + z1 = bounds.max.z + wo + tz, + z2 = tz - mz; if (!(stock.x && stock.y && stock.z)) { return; @@ -972,7 +976,7 @@ tv = -tv; } } - for (let z of BASE.util.lerp(zMax, -zThru, op.down)) { + for (let z of BASE.util.lerp(z1, z2, op.down)) { let slice = newSlice(z); sliceAll.push(slice); sliceOut.push(slice); @@ -1008,8 +1012,8 @@ let slice = newSlice(0,null), polys = []; points.forEach(point => { polys.push(newPolygon() - .append(point.clone().setZ(bounds.max.z)) - .append(point.clone().setZ(bounds.max.z - stock.z - mz))); + .append(point.clone().setZ(z1)) + .append(point.clone().setZ(z2))); }); slice.camLines = polys; slice.output()