From 2184f412a1d6e07acc32d558a50b9e386ad116f2 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 31 Mar 2021 17:56:24 -0400 Subject: [PATCH] add process.outputPurgeTower to allow disabling them. update three quat inverse to invert. --- src/kiri/conf.js | 1 + src/kiri/init.js | 13 ++++++++++--- src/mode/fdm/prepare.js | 3 ++- src/moto/ctrl.js | 2 +- web/kiri/lang/en.js | 2 ++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/kiri/conf.js b/src/kiri/conf.js index 1ea366af..1758be37 100644 --- a/src/kiri/conf.js +++ b/src/kiri/conf.js @@ -339,6 +339,7 @@ outputShortPoly: 100.0, outputMinSpeed: 10.0, outputCoastDist: 0, + outputPurgeTower: true, outputLayerRetract: false, outputOriginCenter: true, outputLoopLayers: "", diff --git a/src/kiri/init.js b/src/kiri/init.js index 3c4443a7..94bccdd9 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -74,15 +74,16 @@ if (!SDB[SEED]) { SDB[SEED] = new Date().getTime(); if (!SETUP.s && API.feature.seed) { + if (SETUP.debug) { + return then(); + } platform.load_stl("/obj/cube.stl", function(vert) { CATALOG.putFile("sample cube.stl", vert); platform.compute_max_z(); SPACE.view.home(); setTimeout(() => { API.space.save(true) },500); then(); - if (!SETUP.debug) { - API.help.show(); - } + API.help.show(); }); return true; } @@ -1360,6 +1361,11 @@ } } + function isMultiHead() { + let dev = API.conf.get().device; + return dev.extruders && dev.extruders.length > 1; + } + function isBelt() { return UI.deviceBelt.checked; } @@ -1796,6 +1802,7 @@ gcodePauseLayers: UC.newInput(LANG.ag_paws_s, {title:LANG.ag_paws_l, modes:FDM, comma:true, show:isNotBelt}), outputLoopLayers: UC.newInput(LANG.ag_loop_s, {title:LANG.ag_loop_l, modes:FDM, comma:true, show:isBelt}), outputLayerRetract: UC.newBoolean(LANG.ad_lret_s, onBooleanClick, {title:LANG.ad_lret_l, modes:FDM}), + outputPurgeTower: UC.newBoolean(LANG.ad_purg_s, onBooleanClick, {title:LANG.ad_purg_l, modes:FDM, show:isMultiHead}), // SLA slaProc: UC.newGroup(LANG.sa_menu, null, {modes:SLA, group:"sla-slice"}), diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index 9117e99a..cf1cb0ec 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -38,6 +38,7 @@ firstLayerSeek = process.outputSeekrate, firstLayerRate = process.firstLayerRate, firstLayerMult = process.firstLayerPrintMult, + purgeTower = process.outputPurgeTower || false, layerRetract = process.outputLayerRetract, layerno = 0, zoff = 0, @@ -274,7 +275,7 @@ // generate purge block for given nozzle function purge(nozzle, track, layer, start, z, using) { - if (extcount < 2 || isBelt) { + if (!purgeTower || extcount < 2 || isBelt) { return start; } let rec = track[nozzle]; diff --git a/src/moto/ctrl.js b/src/moto/ctrl.js index 8115aa6c..6cb216e0 100644 --- a/src/moto/ctrl.js +++ b/src/moto/ctrl.js @@ -109,7 +109,7 @@ MOTO.CTRL = function (object, domElement, notify, slider) { lastQuaternion = new THREE.Quaternion(), // so camera.up is the orbit axis quat = new THREE.Quaternion().setFromUnitVectors(object.up, new THREE.Vector3(0, 1, 0)), - quatInverse = quat.clone().inverse(), + quatInverse = quat.clone().invert(), // touch tracking firstTouch = [], touchSlide = false, diff --git a/web/kiri/lang/en.js b/web/kiri/lang/en.js index 90eed36c..152d4a19 100644 --- a/web/kiri/lang/en.js +++ b/web/kiri/lang/en.js @@ -579,6 +579,8 @@ kiri.lang['en-us'] = { ad_play_l: ["polish up to specified","# of layers at a time"], ad_pspd_s: "polish speed", ad_pspd_l: ["polishing speed","in millimeters / minute"], + ad_purg_s: "purge tower", + ad_purg_l: ["enable purge tower","for multiple extruders"], // CAM EXPERT cx_fast_s: "skip shadow",