checkpoint traces work

This commit is contained in:
Stewart Allen 2020-11-30 12:58:13 -05:00
commit c2d05ddfd9
3 changed files with 67 additions and 26 deletions

View file

@ -438,7 +438,6 @@
camContourYOn: true,
camTraceTool: 1000,
camTraceSpeed: 250,
camTraceOn: false,
camDrillTool: 1000,
camDrillSpindle: 1000,
camDrillDownSpeed: 250,
@ -450,7 +449,6 @@
camTabsWidth: 5,
camTabsHeight: 5,
camTabsDepth: 5,
camTabsOn: false,
camDepthFirst: false,
camEaseDown: false,
camOriginTop: true,

View file

@ -502,6 +502,7 @@
set.ver = res.ver;
API.conf.put(set);
API.event.settings();
API.ui.sync();
LOC.hash = '';
}
}
@ -1612,8 +1613,22 @@
camTracing: UC.newGroup(LANG.cu_menu, null, {modes:CAM, marker:true}),
camTraceTool: UC.newSelect(LANG.cc_tool, {modes:CAM}),
camTraceSpeed: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, modes:CAM}),
camTracingSep: UC.newBlank({class:"pop-sep"}),
camTraceOn: UC.newBoolean(LANG.enable, onBooleanClick, {title:'todo', modes:CAM}),
camTraceSep: UC.newBlank({class:"pop-sep"}),
camTraceSelect: UC.newRow([
(UI.traceAdd = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-plus"></i>'})),
(UI.traceDun = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-check"></i>'})),
(UI.traceClr = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-trash-alt"></i>'}))
], {modes:CAM, class:"ext-buttons f-row"}),
camTabs: UC.newGroup(LANG.ct_menu, null, {modes:CAM, marker:true}),
camTabsWidth: UC.newInput(LANG.ct_wdth_s, {title:LANG.ct_wdth_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabsHeight: UC.newInput(LANG.ct_hght_s, {title:LANG.ct_hght_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabsDepth: UC.newInput(LANG.ct_dpth_s, {title:LANG.ct_dpth_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabSep: UC.newBlank({class:"pop-sep"}),
camTabsManual: UC.newRow([
(UI.tabAdd = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-plus"></i>'})),
(UI.tabDun = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-check"></i>'})),
(UI.tabClr = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-trash-alt"></i>'}))
], {modes:CAM, class:"ext-buttons f-row"}),
camDrill: UC.newGroup(LANG.cd_menu, null, {modes:CAM, marker:true}),
camDrillTool: UC.newSelect(LANG.cc_tool, {modes:CAM}),
camDrillSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM, visible:spindleShow}),
@ -1625,16 +1640,6 @@
camDrillingOn: UC.newBoolean(LANG.enable, onBooleanClick, {modes:CAM}),
camDrillSep: UC.newBlank({class:"pop-sep"}),
camDrillReg: UC.newSelect(LANG.cd_regi_s, {modes:CAM, title:LANG.cd_regi_l}, "drillreg"),
camTabs: UC.newGroup(LANG.ct_menu, null, {modes:CAM, marker:false}),
camTabsWidth: UC.newInput(LANG.ct_wdth_s, {title:LANG.ct_wdth_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabsHeight: UC.newInput(LANG.ct_hght_s, {title:LANG.ct_hght_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabsDepth: UC.newInput(LANG.ct_dpth_s, {title:LANG.ct_dpth_l, convert:UC.toFloat, bound:UC.bound(0.005,100), modes:CAM, units:true}),
camTabSep: UC.newBlank({class:"pop-sep"}),
camTabsManual: UC.newRow([
(UI.tabAdd = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-plus"></i>'})),
(UI.tabDun = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-check"></i>'})),
(UI.tabClr = UC.newButton(undefined, onButtonClick, {icon:'<i class="fas fa-trash-alt"></i>'}))
], {modes:CAM, class:"ext-buttons f-row"}),
camSep1: UC.newGroup(null, null, {modes:CAM, class:"set-sep"}),
camStock: UC.newGroup(LANG.cs_menu, null, {modes:CAM, marker: true}),

View file

@ -37,7 +37,7 @@
$('set-tools').style.display = isCamMode ? '' : 'none';
kiri.space.platform.setColor(isCamMode ? 0xeeeeee : 0xcccccc);
updateStock(undefined, 'internal');
if (!isCamMode) func.tclear();
if (!isCamMode) func.tabClear();
});
api.event.on("view.set", (mode) => {
@ -48,6 +48,14 @@
api.event.on("settings.saved", (settings) => {
const proc = settings.process;
let hasTabs = false;
let hasTraces = false;
// for any tabs or traces to set markers
Object.keys(settings.widget).forEach(wid => {
let wannot = settings.widget[wid];
if (wannot.tab && wannot.tab.length) hasTabs = true;
if (wannot.trace && wannot.trace.length) hasTraces = true;
});
// show/hide dots in enabled process pop buttons
api.ui.camRough.marker.style.display = proc.camRoughOn ? 'flex' : 'none';
api.ui.camDrill.marker.style.display =
@ -55,7 +63,8 @@
api.ui.camOutline.marker.style.display = proc.camOutlineOn ? 'flex' : 'none';
api.ui.camContour.marker.style.display =
proc.camContourXOn || proc.camContourYOn ? 'flex' : 'none';
api.ui.camTracing.marker.style.display = proc.camTraceOn ? 'flex' : 'none';
api.ui.camTracing.marker.style.display = hasTraces ? 'flex' : 'none';
api.ui.camTabs.marker.style.display = hasTabs ? 'flex' : 'none';
api.ui.camStock.marker.style.display = proc.camStockOn ? 'flex' : 'none';
updateStock(settings, 'settings.saved.internal');
});
@ -99,46 +108,75 @@
api.event.on("button.click", target => {
switch (target) {
case api.ui.tabAdd:
return func.tadd();
return func.tabAdd();
case api.ui.tabDun:
return func.tdone();
return func.tabDone();
case api.ui.tabClr:
api.uc.confirm("clear tabs?").then(ok => {
if (ok) func.tclear();
if (ok) func.tabClear();
});
break;
case api.ui.traceAdd:
return func.traceAdd();
case api.ui.traceDun:
return func.traceDone();
case api.ui.traceClr:
api.uc.confirm("clear traces?").then(ok => {
if (ok) func.traceClear();
});
break;
}
});
api.event.on("cam.tabs.add", func.tadd = () => {
api.event.on("cam.tabs.add", func.tabAdd = () => {
alert = api.show.alert("&lt;esc&gt; key cancels editing tabs");
api.feature.hover = true;
});
api.event.on("cam.tabs.done", func.tdone = () => {
api.event.on("cam.tabs.done", func.tabDone = () => {
delbox('tabb');
api.hide.alert(alert);
api.feature.hover = false;
});
api.event.on("cam.tabs.clear", func.tclear = () => {
func.tdone();
api.event.on("cam.tabs.clear", func.tabClear = () => {
func.tabDone();
API.widgets.all().forEach(widget => {
clearTabs(widget);
});
API.conf.save();
});
api.event.on("cam.trace.add", func.traceAdd = () => {
alert = api.show.alert("&lt;esc&gt; key cancels editing traces");
api.feature.hover = true;
});
api.event.on("cam.trace.done", func.traceDone = () => {
api.hide.alert(alert);
api.feature.hover = false;
});
api.event.on("cam.trace.clear", func.traceClear = () => {
func.traceDone();
API.widgets.all().forEach(widget => {
clearTraces(widget);
});
API.conf.save();
});
api.event.on("slice.begin", () => {
if (isCamMode) {
func.tdone();
func.tabDone();
func.traceDone();
}
});
api.event.on("key.esc", () => {
if (isCamMode) {
func.tdone();
func.tabDone();
func.traceDone();
}
});
api.event.on("selection.scale", () => {
if (isCamMode) {
func.tclear();
func.tabClear();
func.traceClear();
}
});
api.event.on("widget.rotate", rot => {