From 2519bec95df69f6c8f3868d9b81097498cc0c9d4 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Mon, 24 Jun 2024 21:29:28 -0400 Subject: [PATCH] change ease down behavior. no longer use step down to lift Z --- src/kiri-mode/cam/ops.js | 4 ++-- src/kiri-mode/cam/prepare.js | 6 ++++++ src/kiri-mode/fdm/prepare.js | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index 108a4b10..9882d72e 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -466,7 +466,7 @@ class OpRough extends CamOp { sliceOutput(sliceOut, { cutdir, depthFirst, - easeDown: op.down && easeDown ? op.down : 0, + easeDown: op.down && easeDown ? 0.001 : 0, progress: (n,m) => progress(n/m, "routing") }); } @@ -725,7 +725,7 @@ class OpOutline extends CamOp { .sort((a,b) => { return a.area() - b.area() })[0] .average(); // experimental start of ease down - let ease = op.down && easeDown ? op.down : 0; + let ease = op.down && easeDown ? 0.001 : 0; printPoint = depthOutlinePath(printPoint, 0, flatLevels, toolDiam, polyEmit, false, ease); printPoint = depthOutlinePath(printPoint, 0, flatLevels, toolDiam, polyEmit, true, ease); } diff --git a/src/kiri-mode/cam/prepare.js b/src/kiri-mode/cam/prepare.js index 5c3b1dd0..fa78a095 100644 --- a/src/kiri-mode/cam/prepare.js +++ b/src/kiri-mode/cam/prepare.js @@ -568,6 +568,12 @@ function prepEach(widget, settings, print, firstPoint, update) { newLayer(); } + // prepare + // sliceOutput + // depthRoughPath + // poly2polyEmit + // roughTopEmit + // poly2polyEmit function polyEmit(poly, index, count, fromPoint) { let last = null; // scale speed of first cutting poly since it engages the full bit diff --git a/src/kiri-mode/fdm/prepare.js b/src/kiri-mode/fdm/prepare.js index 2eb11feb..e517d9c4 100644 --- a/src/kiri-mode/fdm/prepare.js +++ b/src/kiri-mode/fdm/prepare.js @@ -1172,7 +1172,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) { raft = opt.raft || false, flow = opt.flow || 1, near = opt.near || (antiBacklash ? false : true), - fast = opt.fast || false, + fast = opt.fast || false, // support infill only! fill = (opt.fill >= 0 ? opt.fill : fillMult) * flow, thinDist = near ? thinWall : thinWall; @@ -1192,6 +1192,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) { t2 = lines[i+1]; let d1 = t1.distToSq2D(startPoint); let d2 = t2.distToSq2D(startPoint); + // penalize next nearest point if it's not on an adjacent line let idiff = startPoint.index ? Math.abs(startPoint.index - t1.index) : 1; let min = Math.min(d1, d2) * (idiff !== 1 ? 10 : 1); if (min < mindist) {