From f14728a03df2c3b6c29081fc1c7f47ade39b92d7 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 27 Mar 2020 10:20:56 -0400 Subject: [PATCH] pocket only support for linear xy --- js/kiri-driver-cam.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/js/kiri-driver-cam.js b/js/kiri-driver-cam.js index 215e330f..d35dcb28 100644 --- a/js/kiri-driver-cam.js +++ b/js/kiri-driver-cam.js @@ -336,6 +336,7 @@ var gs_kiri_cam = exports; tool = getToolById(settings, proc.finishingTool), toolStep = diameter * proc.finishingOver, traceJoin = diameter / 2, + pocketOnly = proc.camPocketOnlyFinish, bounds = widget.getBoundingBox().clone(), minX = bounds.min.x,// - diameter, maxX = bounds.max.x,// + diameter, @@ -462,9 +463,14 @@ var gs_kiri_cam = exports; newtrace = newPolygon().setOpen(); sliceout = slice.tops[0].traces = [ ]; for (y = minY; y < maxY; y += resolution) { + if (pocketOnly && (data[gridx * stepsy + gridy] || 0) === 0) { + end_poly(); + gridy++; + ly = 0; + continue; + } tv = maxzat(gridx, gridy); if (tv === 0) { - // off part end_poly(); gridy++; ly = 0; @@ -514,9 +520,14 @@ var gs_kiri_cam = exports; newtrace = newPolygon().setOpen(); sliceout = slice.tops[0].traces = [ ]; for (x = minX; x <= maxX; x += resolution) { + if (pocketOnly && (data[gridx * stepsy + gridy] || 0) === 0) { + end_poly(); + gridx++; + ly = 0; + continue; + } tv = maxzat(gridx, gridy); if (tv === 0) { - // off part end_poly(); gridx++; lx = 0;