From 9787d400e12931bea6e038c9945f1561d7d83c1e Mon Sep 17 00:00:00 2001 From: stewart allen Date: Sun, 6 Mar 2022 17:15:28 -0500 Subject: [PATCH] a few more tweaks to rafts, device copy names, ender3 profile --- src/kiri-dev/fdm/Creality.Ender.3 | 6 +++--- src/kiri-dev/fdm/Prusa.i3.MK3S+ | 6 +++--- src/kiri-mode/fdm/prepare.js | 32 +++++++++++++++---------------- src/kiri/init.js | 7 ++++++- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/src/kiri-dev/fdm/Creality.Ender.3 b/src/kiri-dev/fdm/Creality.Ender.3 index 878751c4..dee8c48a 100644 --- a/src/kiri-dev/fdm/Creality.Ender.3 +++ b/src/kiri-dev/fdm/Creality.Ender.3 @@ -108,9 +108,9 @@ "outputFeedrate": 80, "outputFinishrate": 30, "outputSeekrate": 150, - "outputShellMult": 1, - "outputFillMult": 1.1, - "outputSparseMult": 1.1, + "outputShellMult": 1.35, + "outputFillMult": 1.3, + "outputSparseMult": 1.3, "outputRetractDist": 4, "outputRetractSpeed": 60, "outputRetractWipe": 2, diff --git a/src/kiri-dev/fdm/Prusa.i3.MK3S+ b/src/kiri-dev/fdm/Prusa.i3.MK3S+ index b5f9ded4..609d9145 100644 --- a/src/kiri-dev/fdm/Prusa.i3.MK3S+ +++ b/src/kiri-dev/fdm/Prusa.i3.MK3S+ @@ -117,7 +117,7 @@ "outputFeedrate": 100, "outputFinishrate": 30, "outputSeekrate": 150, - "outputShellMult": 1, + "outputShellMult": 1.05, "outputFillMult": 1.1, "outputSparseMult": 1.1, "outputRetractDist": 1, @@ -199,7 +199,7 @@ "outputFeedrate": 100, "outputFinishrate": 40, "outputSeekrate": 150, - "outputShellMult": 1.05, + "outputShellMult": 1.1, "outputFillMult": 1.15, "outputSparseMult": 1.15, "outputRetractDist": 1, @@ -253,7 +253,7 @@ "sliceLayerStart": "center", "sliceFillAngle": 45, "sliceFillOverlap": 0.35, - "sliceFillSparse": 0.08, + "sliceFillSparse": 0.1, "sliceFillType": "hex", "sliceAdaptive": false, "sliceMinHeight": 0, diff --git a/src/kiri-mode/fdm/prepare.js b/src/kiri-mode/fdm/prepare.js index 30fc8c12..b6d02f1b 100644 --- a/src/kiri-mode/fdm/prepare.js +++ b/src/kiri-mode/fdm/prepare.js @@ -127,26 +127,23 @@ FDM.prepare = function(widgets, settings, update) { if (useRaft) { let offset = newPoint(0,0,0), height = nozzle, + angle = process.sliceFillAngle, + rate1 = firstLayerRate / 3, + rate2 = process.outputFeedrate, rafts = process.outputBrimCount ? POLY.expand(brims, nozzle * 4, 0, null, 1) : brims; - // cause first point of raft to be used - printPoint = null; - - let raft = function(height, angle, spacing, speed, extrude, trace) { + function raft(height, angle, spacing, speed, extrude, outline) { let slice = kiri.newSlice(zoff + height / 2); - rafts.forEach(function(brim) { + for (let brim of rafts) { // use first point of first brim as start point if (printPoint === null) printPoint = brim.first(); let t = slice.addTop(brim); - if (trace) t.traces = [ brim ]; - t.inner = POLY.expand([ brim ], -nozzle * 0.5, 0, null, 1); - // tweak bounds for fill to induce an offset - t.inner[0].bounds.minx -= nozzle/2; - t.inner[0].bounds.maxx += nozzle/2; + if (outline) t.traces = [ brim ]; + t.inner = POLY.expand([ brim ], nozzle * -0.8, 0, null, 1); t.fill_lines = POLY.fillArea(t.inner, angle, spacing, []); t.isRaft = true; - }) + } offset.z = slice.z; printPoint = slicePrintPath(print, slice, printPoint, offset, layerout, { speed, @@ -161,11 +158,14 @@ FDM.prepare = function(widgets, settings, update) { zneg = height / 2; }; - raft(nozzle/1, process.sliceFillAngle + 0 , nozzle * 5.0, firstLayerRate / 3, 4, true); - // raft(nozzle/1, process.sliceFillAngle + 0 , nozzle * 5.0, firstLayerRate / 2, 4, true); - raft(nozzle/2, process.sliceFillAngle + 90, nozzle * 3.0, process.outputFeedrate, 2.5, true); - raft(nozzle/2, process.sliceFillAngle + 0 , nozzle * 1.0, process.outputFeedrate, 1.5); - raft(nozzle/2, process.sliceFillAngle + 90 , nozzle * 0.7, process.outputFeedrate, 0.75); + // cause first point of raft to be used + printPoint = null; + + // emit raft layers + raft(nozzle * 1.5, angle + 0, nozzle * 6.00, rate1, 2.50, true); + raft(nozzle * 0.5, angle + 90, nozzle * 2.00, rate2, 1.50, true); + raft(nozzle * 0.5, angle + 0, nozzle * 1.00, rate2, 1.00); + raft(nozzle * 0.5, angle + 90, nozzle * 0.75, rate2, 0.75); // raise first layer off raft slightly to lessen adhesion firstLayerHeight += process.outputRaftSpacing || 0; diff --git a/src/kiri/init.js b/src/kiri/init.js index 6bff1c65..fce81659 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -729,9 +729,14 @@ gapp.register("kiri.init", [], (root, exports) => { // only for local filters function cloneDevice() { - let name = `${getSelectedDevice().replace(/\./g,' ')} Copy`; + let name = `${getSelectedDevice().replace(/\./g,' ')}`; let code = api.clone(settings().device); code.mode = api.mode.get(); + if (name.toLowerCase().indexOf('my ') >= 0) { + name = `${name} copy`; + } else { + name = `My ${name}`; + } putLocalDevice(name, code); setDeviceCode(code, name); }