From f3231e442026d999417b8b498daa59d76cbcd030 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Thu, 19 Nov 2020 21:33:47 -0500 Subject: [PATCH] connect sparse infill in some cases. rename .b64 to .km --- src/kiri/init.js | 8 ++++---- src/kiri/main.js | 2 +- src/kiri/print.js | 16 +++++++++++++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/kiri/init.js b/src/kiri/init.js index 577d75f1..a59c2ac8 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -503,7 +503,7 @@ } function deviceExport(exp, name) { - name = (name || "kiridev") + name = (name || "device") .toLowerCase() .replace(/ /g,'_') .replace(/\./g,'_'); @@ -511,7 +511,7 @@ if (name) { let blob = new Blob([exp], {type: "octet/stream"}), url = WIN.URL.createObjectURL(blob); - $('mod-any').innerHTML = `x`; + $('mod-any').innerHTML = `x`; $('sexport').click(); } }); @@ -529,14 +529,14 @@ " ", "" ]}; - UC.confirm("Export Filename", {ok:true, cancel: false}, "km_conf", opt).then(name => { + UC.confirm("Export Filename", {ok:true, cancel: false}, "profile", opt).then(name => { if (name) { let work = $('incwork').checked, json = API.conf.export({work}), blob = new Blob([json], {type: "octet/stream"}), url = WIN.URL.createObjectURL(blob); $('mod-any').innerHTML = [ - `x` + `x` ].join(''); $('sexport').click(); } diff --git a/src/kiri/main.js b/src/kiri/main.js index 46f28618..3a534cf7 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -1605,7 +1605,7 @@ isstl = lower.indexOf(".stl") > 0, issvg = lower.indexOf(".svg") > 0, isgcode = lower.indexOf(".gcode") > 0 || lower.indexOf(".nc") > 0, - isset = lower.indexOf(".b64") > 0; + isset = lower.indexOf(".b64") > 0 || lower.indexOf(".km") > 0; reader.file = files[i]; reader.onloadend = function (e) { if (israw) platform.add( diff --git a/src/kiri/print.js b/src/kiri/print.js index 2fae558e..4881d487 100644 --- a/src/kiri/print.js +++ b/src/kiri/print.js @@ -475,11 +475,21 @@ poly.reverse(); } poly.forEachPoint(function(p, i) { + let dist = lp.distTo2D(p); + let rdst = dist > retractDist; + let itop = rdst && intersectsTop(lp,p); + let emit = extrude; // retract if dist trigger and crosses a slice top polygon - if (i === 0 && lp && lp.distTo2D(p) > retractDist && intersectsTop(lp,p)) { - retract(); + if (i === 0) { + if (itop) { + retract(); + emit = 0; + } else if (rdst) { + emit = 0; + } } - addOutput(preout, p, i === 0 ? 0 : extrude, speed || printSpeed, extruder); + // let emit = i === 0 ? 0 : extrude; + addOutput(preout, p, emit, speed || printSpeed, extruder); lp = p; }); return lp;