From 520d0d806ae7f6ab91736539d55711f5d5b531cb Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 17 Nov 2021 19:05:52 -0500 Subject: [PATCH] fix purge blocks for second non-belt orientation --- src/kiri/export.js | 2 +- src/mode/fdm/prepare.js | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/kiri/export.js b/src/kiri/export.js index ef6fa913..63859cbf 100644 --- a/src/kiri/export.js +++ b/src/kiri/export.js @@ -563,7 +563,7 @@ console.log/** Copyright Stewart Allen -- All Rights Reserved */ KIRI.work.png({}, data => { png = data.png; }); - // console.log({meta,palette}); + console.log({meta,palette}); downloadPalette.onclick = function() { KIRI.client.zip([ {name:"meta.json", data:JSON.stringify(meta,undefined,4)}, diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index ca099a8e..24eab71b 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -250,7 +250,14 @@ function mkblok(w,h) { let stepw = w + nozzle / 2; - if (bounds.min.x < bounds.min.y && !isBelt) { + if (isBelt) { + let my = (bounds.max.y + bounds.min.y) / 2; + let mp = (extcount * w) / 2 + (w / 2); + let py = my - mp; + blokpos = { x:bounds.max.x + 2 + h / 2, y:isBelt ? -mp : py}; + walkpos = { x:0, y:stepw }; + blok = { x:h, y:w }; + } else if (bounds.min.x < bounds.min.y) { let mx = (bounds.max.x + bounds.min.x) / 2; let px = mx - (extcount * w) / 2 + (w / 2); let dx = ((bounds.max.x - bounds.min.x) - (extcount * w)) / 2; @@ -259,11 +266,11 @@ blok = { x:w, y:h }; } else { let my = (bounds.max.y + bounds.min.y) / 2; - let mp = (extcount * w) / 2 + (w / 2); - let py = my - mp; - blokpos = { x:bounds.max.x + 2 + h / 2, y:isBelt ? -mp : py}; - walkpos = { x:0, y:stepw }; - blok = { x:h, y:w }; + let py = my - (extcount * w) / 2 + (w / 2); + let dy = ((bounds.max.y - bounds.min.y) - (extcount * w)) / 2; + blokpos = { y:py, x: bounds.max.x + 2 + h / 2}; + walkpos = { y:stepw, x:0 }; + blok = { x:w, y:h }; } }