From 719cc125f757b2088f1ddd58c6562cc1751b2e8b Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Thu, 5 Mar 2020 10:05:17 -0500 Subject: [PATCH] fix corner case w/ tabs and selected ops --- js/kiri-driver-cam.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/js/kiri-driver-cam.js b/js/kiri-driver-cam.js index ef101e43..81f7c9ae 100644 --- a/js/kiri-driver-cam.js +++ b/js/kiri-driver-cam.js @@ -707,8 +707,8 @@ var gs_kiri_cam = exports; pocketOnlyRough = outp.camPocketOnlyRough, pocketOnlyFinish = outp.camPocketOnlyFinish, // addTabs = proc.camTabsOn && !pocketOnly, - addTabsRough = proc.camTabsOn && !pocketOnlyRough, - addTabsFinish = proc.camTabsOn && !pocketOnlyFinish, + addTabsRough = procRough && proc.camTabsOn && !pocketOnlyRough, + addTabsFinish = anyFinish && proc.camTabsOn && !pocketOnlyFinish, tabWidth = proc.camTabsWidth, tabHeight = proc.camTabsHeight, mesh = widget.mesh, @@ -766,8 +766,14 @@ var gs_kiri_cam = exports; var lrtop = trace.intersections(htl, htr), lrbot = trace.intersections(hbl, hbr), tblt = trace.intersections(vtl, vbl), - tbrt = trace.intersections(vtr, vbr), - tr1 = trace.emitSegment(lrtop[0], tblt[0]), + tbrt = trace.intersections(vtr, vbr); + + if (!(lrtop.length && lrbot.length && tblt.length && tbrt.length)) { + console.log("unable to compute cutouts"); + return; + } + + var tr1 = trace.emitSegment(lrtop[0], tblt[0]), tr2 = trace.emitSegment(tbrt[0], lrtop[lrtop.length-1]), tr3 = trace.emitSegment(lrbot[lrbot.length-1], tbrt[tbrt.length-1]), tr4 = trace.emitSegment(tblt[tblt.length-1], lrbot[0]);