add z anchor. bump rev 2.5.d7

This commit is contained in:
Stewart Allen 2020-12-22 15:05:50 -05:00
commit 96c5f0868f
13 changed files with 64 additions and 29 deletions

View file

@ -704,7 +704,8 @@
const { stock, bounds, process } = API.conf.get();
const { camTabsWidth, camTabsHeight, camTabsDepth } = process;
const sz = stock.z || bounds.max.z;
const zp = sz - track.box.d + process.camZBottom - process.camZTopOffset + camTabsHeight / 2;
const zto = sz - iw.track.top;
const zp = sz - track.box.d + process.camZBottom - zto + camTabsHeight / 2;
ic.x += n.x * camTabsDepth / 2; // offset from part
ic.z -= n.y * camTabsDepth / 2; // offset swap z,y
ic.y = zp; // offset swap in world space y,z

View file

@ -58,7 +58,7 @@
points = 0,
stock = settings.stock,
hasStock = spro.camStockOn && stock.x && stock.y && stock.z,
ztOff = hasStock ? spro.camZTopOffset : 0,
ztOff = hasStock ? stock.z - widget.track.top : 0,
bounds = widget.getBoundingBox(),
zmax = hasStock ? stock.z : bounds.max.z,
runbox = {

View file

@ -58,12 +58,14 @@
let facing = POLY.offset(inset, -(roughToolDiam * op.step), { count: 999, flat: true });
let zdiv = ztOff / roughDown;
let zstep = (zdiv % 1 > 0) ? ztOff / (Math.floor(zdiv) + 1) : roughDown;
if (roughTop && ztOff === 0) {
if (ztOff === 0) {
// compensate for lack of z top offset in this scenario
ztOff = zstep;
}
let zsteps = Math.round(ztOff / zstep);
let camFaces = this.camFaces = [];
for (let z = zMax + ztOff - zstep; z >= zMax; z -= zstep) {
let zstart = zMax + ztOff - zstep;
for (let z = zstart; zsteps > 0; zsteps--) {
let slice = shadowTop.slice.clone(false);
slice.z = z;
slice.camMode = PRO.LEVEL;
@ -73,6 +75,7 @@
.addPolys(slice.camLines);
sliceAll.push(slice);
camFaces.push(slice);
z -= zstep;
}
}

View file

@ -63,7 +63,8 @@
alignTop = settings.controller.alignTop,
zclear = (process.camZClearance || 1),
zmax_outer = hasStock ? stock.z + zclear : outerz + zclear,
ztOff = hasStock ? process.camZTopOffset : 0,
wztop = widget.track.top,
ztOff = hasStock ? stock.z - wztop : 0,
bounds = widget.getBoundingBox(),
boundsz = bounds.max.z + ztOff,
zadd = hasStock ? stock.z - boundsz : alignTop ? outerz - boundsz : 0,

View file

@ -34,7 +34,8 @@
zMin = Math.max(bounds.min.z, zBottom),
zMax = bounds.max.z,
zThru = zBottom === 0 ? (proc.camZThru || 0) : 0,
ztOff = hasStock ? proc.camZTopOffset : 0,
wztop = widget.track.top,
ztOff = hasStock ? stock.z - wztop : 0,
minToolDiam = Infinity,
maxToolDiam = -Infinity,
thruHoles,