diff --git a/src/kiri/mode/cam/app/init-ui.js b/src/kiri/mode/cam/app/init-ui.js index 2f315981..ae2498ee 100644 --- a/src/kiri/mode/cam/app/init-ui.js +++ b/src/kiri/mode/cam/app/init-ui.js @@ -587,7 +587,7 @@ export function zPlaneSelect({ which, onselect }) { } clearPops(); zPlaneStart(which, value => { - onselect(parseFloat(value)); + onselect(parseFloat(value) / api.view.unit_scale()); }); } diff --git a/src/kiri/mode/cam/work/export.js b/src/kiri/mode/cam/work/export.js index f8bd0b2a..ee762acf 100644 --- a/src/kiri/mode/cam/work/export.js +++ b/src/kiri/mode/cam/work/export.js @@ -79,6 +79,8 @@ export function cam_export(print, online) { time: 0 }; + // console.log({ offset, origin, stock }); + function section(section) { append(); online({ section }); diff --git a/src/kiri/mode/cam/work/op-level.js b/src/kiri/mode/cam/work/op-level.js index 2f90b81e..ab1651d5 100644 --- a/src/kiri/mode/cam/work/op-level.js +++ b/src/kiri/mode/cam/work/op-level.js @@ -27,6 +27,9 @@ class OpLevel extends CamOp { let zBot = zTop - down; let zList = stepz && down ? util.lerp(zTop, zBot, stepz) : [ zBot ]; + // ensure zList is descending + zList.sort((a,b) => b - a); + if (share.ran) { console.log('skip'); this.skip = true; @@ -49,6 +52,7 @@ class OpLevel extends CamOp { POLY.fillArea(clear, 1090, stepOver, points); let layers = this.layers = []; + for (let z of zList) { let lines = []; layers.push(lines); diff --git a/src/kiri/mode/cam/work/prepare.js b/src/kiri/mode/cam/work/prepare.js index 97443409..23f44a18 100644 --- a/src/kiri/mode/cam/work/prepare.js +++ b/src/kiri/mode/cam/work/prepare.js @@ -567,7 +567,7 @@ export async function prepare_one(widget, settings, print, firstPoint, update) { } else // otherwise move over before descending if (deltaZ <= -tolerance) { - if (debug) console.log('over before descend'); + if (debug) console.log('over before descend', deltaZ, -tolerance); layerPush(point.clone().setZ(printPoint.z), 0, 0, tool); newLayer(); } @@ -636,7 +636,7 @@ export async function prepare_one(widget, settings, print, firstPoint, update) { // plunge safety catch if (deltaZ < 0 && !contouring) { - if (debug) console.log('deltaZ snap', rate, plungeRate); + if (debug) console.log('plunge safety', deltaZ, rate, plungeRate); emit = 1; rate = plungeRate; } diff --git a/src/kiri/run/worker.js b/src/kiri/run/worker.js index fa115dc0..086ac6c5 100644 --- a/src/kiri/run/worker.js +++ b/src/kiri/run/worker.js @@ -586,9 +586,9 @@ const dispatch = { const { process } = settings; const origin = settings.origin; const offset = { - x: origin.x - (process.camOriginOffX ?? 0), - y: -origin.y - (process.camOriginOffY ?? 0), - z: origin.z - (process.camOriginOffZ ?? 0) + x: origin.x,// - (process.camOriginOffX ?? 0), + y: -origin.y,// - (process.camOriginOffY ?? 0), + z: origin.z,// + (process.camOriginOffZ ?? 0) }; const device = settings.device; const print = setPrint(newPrint(settings, Object.values(wcache)));