diff --git a/src/kiri/init.js b/src/kiri/init.js index 7c17a523..54bb5b59 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -1578,7 +1578,8 @@ layerDelta: UC.newBoolean(LANG.la_dlta, onLayerToggle, {modes:FDM}), layerSolid: UC.newBoolean(LANG.la_slds, onLayerToggle, {modes:FDM}), layerPrint: UC.newBoolean(LANG.la_prnt, onLayerToggle, {modes:GCODE}), - layerMoves: UC.newBoolean(LANG.la_move, onLayerToggle, {modes:GCODE}) + layerMoves: UC.newBoolean(LANG.la_move, onLayerToggle, {modes:GCODE}), + layerParts: UC.newBoolean(LANG.la_part, onLayerToggle, {modes:CAM}) }); function showLaserKnife() { diff --git a/src/kiri/main.js b/src/kiri/main.js index 6878288a..45f502f5 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -593,6 +593,19 @@ return showing; } + function setWidgetVisibility(bool) { + if (bool) { + UI.layerParts.checked = true; + } + forAllWidgets(w => { + if (bool) { + w.show(); + } else { + w.hide(); + } + }); + } + /** * hide or show slice-layers and their sub-elements * @@ -603,6 +616,10 @@ return; } + if (MODE === MODES.CAM) { + setWidgetVisibility(UI.layerParts.checked); + } + showSlider(); if (typeof(layer) === 'string' || typeof(layer) === 'number') { @@ -1997,13 +2014,16 @@ hideSlider(); clearWidgetCache(); updateSliderMax(); + setWidgetVisibility(true); break; case VIEWS.SLICE: $('lt-back').style.display = 'flex'; updateSliderMax(); + setWidgetVisibility(true); break; case VIEWS.PREVIEW: - $('lt-back').style.display = 'flex'; + $('lt-back').style.display = 'flex'; + setWidgetVisibility(true); break; default: DBUG.log("invalid view mode: "+mode); diff --git a/src/kiri/widget.js b/src/kiri/widget.js index 499fc42e..25a79ac8 100644 --- a/src/kiri/widget.js +++ b/src/kiri/widget.js @@ -758,4 +758,12 @@ } }; + PRO.show = function() { + this.mesh.visible = true; + }; + + PRO.hide = function() { + this.mesh.visible = false; + }; + })(); diff --git a/src/mode/cam/driver.js b/src/mode/cam/driver.js index 288210f7..b2be8b4b 100644 --- a/src/mode/cam/driver.js +++ b/src/mode/cam/driver.js @@ -2101,7 +2101,7 @@ }; function printRender(print) { - return KIRI.driver.FDM.printRender(print, {aslines: true, color: 0x010101}); + return KIRI.driver.FDM.printRender(print, {aslines: true, color: 0x010101, move_color: 0xcc3333}); } })(); diff --git a/src/mode/fdm/driver.js b/src/mode/fdm/driver.js index 8857c010..8ce1e85d 100644 --- a/src/mode/fdm/driver.js +++ b/src/mode/fdm/driver.js @@ -1352,7 +1352,7 @@ emits = KIRI.newLayer(scope.group); if (showmoves) { moves = KIRI.newLayer(scope.group); - moves.lines(move, 0x888888); + moves.lines(move, opt.move_color || 0x888888); } emits.setTransparent(false); // emit printing shapes diff --git a/web/kiri/lang/en.js b/web/kiri/lang/en.js index 5d10eebc..fc207937 100644 --- a/web/kiri/lang/en.js +++ b/web/kiri/lang/en.js @@ -158,6 +158,7 @@ kiri.lang['en-us'] = { la_sprt: "supports", la_prnt: "print", la_move: "moves", + la_part: "parts", // SETTINGS se_menu: "library",