From 3aa0df2ee45e5d002f25f6f01e84869c7c51058b Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 1 May 2021 12:48:05 -0400 Subject: [PATCH] fix brims and move belt offset to export --- src/mode/fdm/export.js | 3 ++- src/mode/fdm/prepare.js | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mode/fdm/export.js b/src/mode/fdm/export.js index 9903a13d..7b347b37 100644 --- a/src/mode/fdm/export.js +++ b/src/mode/fdm/export.js @@ -53,6 +53,7 @@ blast = 0, blastz = 0, process = settings.process, + belt_add_y = process.firstLayerYOffset || 0, loops = process.outputLoops || 0, zhop = process.zHopDistance || 0, // range seekMMM = process.outputSeekrate * 60, @@ -291,7 +292,7 @@ let zheight = path ? path.height || 0 : 0; epos.x = originCenter ? -pos.x : device.bedWidth - pos.x; epos.z = blastz = pos.z * icos; - epos.y = -pos.y + epos.z * bcos; + epos.y = -pos.y + epos.z * bcos + belt_add_y; lout = epos; } if (emit.x) o.append(" X").append(epos.x.toFixed(decimals)); diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index 905ecf29..cf67abb0 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -459,9 +459,16 @@ // post-process for base extrusions (touching the bed) if (isBelt) { // // correct y offset to desired layer offset - let miny = process.firstLayerYOffset || 0; - let thresh = firstLayerHeight * 0.25; let seqn = 0; + // tune base threshold + let thresh = Infinity; + for (let layer of output) { + for (let rec of layer) { + let point = rec.point; + thresh = Math.min(thresh, point.z - point.y); + } + } + thresh = thresh + firstLayerHeight * 0.25; // iterate over layers, find extrusion on belt and // apply corrections and add brim when specified for (let layer of output) {