From 4c9356ff8414e193d582310ba42e655513b915f5 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 13 Dec 2022 19:55:31 -0500 Subject: [PATCH] fix for mutli-color, multi-extruder with purge tower and anchor on belt -- still has a render bug that will be hard to fix because render happens before anchor cleanup --- src/kiri-mode/fdm/slice.js | 15 ++++++++++----- src/kiri-run/worker.js | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/kiri-mode/fdm/slice.js b/src/kiri-mode/fdm/slice.js index 28ca20c8..553e5276 100644 --- a/src/kiri-mode/fdm/slice.js +++ b/src/kiri-mode/fdm/slice.js @@ -63,8 +63,6 @@ FDM.sliceAll = function(settings, onupdate) { .sort((a,b) => { return a.slices[0].z - b.slices[0].z }); - // ignore first widget - widgets.shift(); // count extruders used let ext = []; for (let w of widgets) { @@ -75,10 +73,17 @@ FDM.sliceAll = function(settings, onupdate) { } } } + // sort widgets by first slice Z + widgets.sort((a,b) => { + return a.slices[0].z - b.slices[0].z; + }); + // give first widget a pass since it should have the anchor + widgets.shift(); // remove anchor slices from other widgets (only with multi-material) - if (ext.length > 1) - for (let w of widgets) { - w.slices = w.slices.filter(s => s.index >= 0); + if (ext.length > 1) { + for (let w of widgets) { + w.slices = w.slices.filter(s => s.index >= 0); + } } }; diff --git a/src/kiri-run/worker.js b/src/kiri-run/worker.js index 64fb59bf..8725dc00 100644 --- a/src/kiri-run/worker.js +++ b/src/kiri-run/worker.js @@ -55,6 +55,8 @@ self.alert = function(o) { console.log(o); }; +self.uuid = ((Math.random() * Date.now()) | 0).toString(36); + function minhandler(msg) { let data = msg.data; let seq = data.seq;