From a5e98bd892b79ac0e53bc1fce2ad380680b82700 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 6 Dec 2020 11:17:33 -0500 Subject: [PATCH] check for and correct invalid outline settings. default stock + offset. add 'g' animate shortcut --- notes.md | 1 + src/kiri/conf.js | 6 +++--- src/kiri/init.js | 3 +++ src/mode/cam/client.js | 13 +++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/notes.md b/notes.md index 6ec230f6..f4c454b4 100644 --- a/notes.md +++ b/notes.md @@ -64,6 +64,7 @@ * `B` climb vs conventional not fully consistent after refactor * `B` outside cutting direction in roughing mode inverted * `B` top clearing operations should use linear, not offset, passes +* `B` on rotation, tabs dissociate from parts whose center changes with rotation * `F` skip "thru" holes checkbox for roughing and outlining * `F` polygon simplification option in tracing (for image derived maps) * `F` use 3 registration holes to prevent rotation accidents (midline offset one axis) diff --git a/src/kiri/conf.js b/src/kiri/conf.js index b0973098..e13a9366 100644 --- a/src/kiri/conf.js +++ b/src/kiri/conf.js @@ -463,11 +463,11 @@ camFastFeed: 6000, camFastFeedZ: 300, camTolerance: 0, - camStockX: 0, - camStockY: 0, + camStockX: 5, + camStockY: 5, camStockZ: 0, camStockOffset: true, - camStockOn: false, + camStockOn: true, camConventional: false, // outputClockwise outputOriginCenter: false, outputInvertX: false, diff --git a/src/kiri/init.js b/src/kiri/init.js index 8273f3bb..4ed3fd3a 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -388,6 +388,9 @@ } API.function.export(); break; + case cca('g'): // CAM animate + API.function.animate(); + break; case cca('o'): // manual rotation rotateInputSelection(); break; diff --git a/src/mode/cam/client.js b/src/mode/cam/client.js index 9553b557..89e3c03d 100644 --- a/src/mode/cam/client.js +++ b/src/mode/cam/client.js @@ -54,6 +54,8 @@ func.tabClear(); func.traceDone(); UI.func.animate.style.display = 'none'; + } else { + checkOutlineSettings(api.conf.get()); } // do not persist traces across page reloads func.traceClear(); @@ -67,6 +69,16 @@ func.traceDone(); }); + function checkOutlineSettings(settings) { + let ui = api.ui, proc = settings.process; + // fix invalid in/out enabled condition + if (ui.camOutlineIn.checked && ui.camOutlineOut.checked) { + proc.camOutlineIn = proc.camOutlineOut = false; + ui.camOutlineIn.checked = ui.camOutlineOut.checked = false; + api.uc.refresh(); + } + } + api.event.on("settings.saved", (settings) => { current = settings; const proc = settings.process; @@ -78,6 +90,7 @@ if (wannot.tab && wannot.tab.length) hasTabs = true; if (wannot.trace && wannot.trace.length) hasTraces = true; }); + checkOutlineSettings(settings); // show/hide dots in enabled process pop buttons api.ui.camRough.marker.style.display = proc.camRoughOn ? 'flex' : 'none'; api.ui.camDrill.marker.style.display =