From 76eeb43b5c65b5cbffe0f282a2f4b30d18575764 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Wed, 6 Dec 2017 21:15:37 -0500 Subject: [PATCH] add finish shell speed override --- js/kiri-driver-fdm.js | 3 +++ js/kiri-print.js | 6 +++--- js/kiri.js | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/js/kiri-driver-fdm.js b/js/kiri-driver-fdm.js index 6dab0ad0..9f98f30d 100644 --- a/js/kiri-driver-fdm.js +++ b/js/kiri-driver-fdm.js @@ -432,6 +432,9 @@ var gs_kiri_fdm = exports; emitMM = emitPerMM * out.emit * dist; if (layer === 0) { emitMM = emitPerMMLayer1 * out.emit * dist; + } else if (out.speed && out.speed < process.outputFeedrate) { + // usually outer shell (finish speed) override + outMMM = out.speed * 60; } if (dist < shortDist) { outMMM = shortMMM + ((outMMM - shortMMM) * (dist / shortDist)); diff --git a/js/kiri-print.js b/js/kiri-print.js index 130da4c2..4f86904a 100644 --- a/js/kiri-print.js +++ b/js/kiri-print.js @@ -332,16 +332,16 @@ var gs_kiri_print = exports; first = true, settings = this.settings, shellMult = extrude || settings.process.outputShellMult, - shellSpeed = settings.process.outputShellSpeedMult || 1; + shellSpeed = settings.process.outputFinishrate || 0; poly.forEachPoint(function(point) { if (first) { if (onfirst) onfirst(point); // move from startPoint to point - addOutput(output, point, 0, 1); + addOutput(output, point, 0, 0); first = false; } else { - addOutput(output, point, shellMult, poly.depth == 0 ? shellSpeed : 1); + addOutput(output, point, shellMult, poly.depth == 0 ? shellSpeed : 0); } }, true, closest.index); diff --git a/js/kiri.js b/js/kiri.js index 8e5cf036..1301e3bc 100644 --- a/js/kiri.js +++ b/js/kiri.js @@ -67,12 +67,12 @@ self.kiri.license = exports.LICENSE; outputFanMax: 1, outputBedTemp: 1, outputFeedrate: 1, + outputFinishrate: 1, outputSeekrate: 1, outputShellMult: 1, // outputShellSpeed: 1, outputFillMult: 1, outputSparseMult: 1, - outputShellSpeedMult: 1, outputRetractOver: 1, outputRetractDist: 1, outputRetractSpeed: 1, @@ -260,12 +260,12 @@ self.kiri.license = exports.LICENSE; outputFanMax: 255, outputBedTemp: 0, outputFeedrate: 100, + outputFinishrate: 60, outputSeekrate: 150, outputShellMult: 1.0, // outputShellSpeed: 1.0, outputFillMult: 1.25, outputSparseMult: 1.5, - outputShellSpeedMult: 1.0, outputRetractOver: 5.0, outputRetractDist: 0.5, outputRetractSpeed: 20, @@ -2305,12 +2305,12 @@ self.kiri.license = exports.LICENSE; outputBedTemp: UC.newInput("bed temp", {title:"degrees celsius", convert:UC.toInt, modes:FDM}), outputTemp: UC.newInput("nozzle temp", {title:"degrees celsius", convert:UC.toInt, modes:FDM}), outputFeedrate: UC.newInput("print speed", {title:"print move max speed\nmillimeters / minute", convert:UC.toInt, modes:FDM}), + outputFinishrate: UC.newInput("finish speed", {title:"outermost shell speed\nmillimeters / minute", convert:UC.toInt, modes:FDM}), outputSeekrate: UC.newInput("move speed", {title:"non-print move max speed\nmillimeters / minute", convert:UC.toInt, modes:FDM}), // outputShellSpeed: UC.newInput("shell speed", {title:"speed multiplier\n0.1 - 2.0", convert:UC.toFloat, bound:UC.bound(0.1,2.0), modes:FDM}), outputShellMult: UC.newInput("shell factor", {title:"extrusion multiplier\n0.0 - 2.0", convert:UC.toFloat, bound:UC.bound(0.0,2.0), modes:FDM}), outputFillMult: UC.newInput("solid factor", {title:"extrusion multiplier\n0.0 - 2.0", convert:UC.toFloat, bound:UC.bound(0.0,2.0), modes:FDM}), outputSparseMult: UC.newInput("infill factor", {title:"extrusion multiplier\n0.0 - 2.0", convert:UC.toFloat, bound:UC.bound(0.0,2.0), modes:FDM}), - outputShellSpeedMult: UC.newInput("finish factor", {title:"outermost shell speed multiplier\n0.0 - 1.0", convert:UC.toFloat, bound:UC.bound(0.0,1.0), modes:FDM}), // cam camTolerance: UC.newInput("tolerance", {title:"surface precision\nin millimeters", convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}),