add finish offset control

This commit is contained in:
Stewart Allen 2017-12-17 16:16:02 -05:00
commit 3a15f0212f
2 changed files with 5 additions and 1 deletions

View file

@ -489,6 +489,7 @@ var gs_kiri_print = exports;
sparseMult = process.outputSparseMult,
wipeDistance = process.outputWipeDistance,
wipeSpeed = process.outputWipeSpeed || 20,
finishFactor = process.outputFinishFactor || 0,
firstSpeed = process.firstLayerRate,
printSpeed = firstLayer ? firstSpeed : process.outputFeedrate,
moveSpeed = process.outputSeekrate,
@ -537,7 +538,7 @@ var gs_kiri_print = exports;
startPoint = scope.polyPrintPath(poly, startPoint, preout, {
rate: finishShell ? process.outputFinishrate : printSpeed,
accel: finishShell,
shorten: finishShell && !firstLayer ? nozzle / 2 : 0,
shorten: finishShell && !firstLayer ? nozzle * finishFactor : 0,
extrude: shellMult,
onfirst: function(firstPoint) {
checkBisect(startPoint, firstPoint, bounds);

View file

@ -79,6 +79,7 @@ self.kiri.license = exports.LICENSE;
outputBrimOffset: 1,
outputShortDistance: 1,
outputShortFactor: 1,
outputFinishFactor: 1,
outputAccelComp: 1,
outputOuterFirst: 1,
outputWipeSpeed: 1,
@ -277,6 +278,7 @@ self.kiri.license = exports.LICENSE;
outputBrimOffset: 3,
outputShortDistance: 5.0,
outputShortFactor: 0.2,
outputFinishFactor: 0,
outputAccelComp: false,
outputOuterFirst: false,
@ -2364,6 +2366,7 @@ self.kiri.license = exports.LICENSE;
outputWipeDistance: UC.newInput("wipe distance", {title:"distance to wipe nozzle after\neach enclosed island completes\nin millimeters. 0 to disable", convert:UC.toInt, modes:FDM}),
outputShortDistance: UC.newInput("short distance", {title:"segment length cutoff\nfor short segments\nin millimeters", bound:UC.bound(0,200), convert:UC.toFloat, modes:FDM}),
outputShortFactor: UC.newInput("short factor", {title:"max speed reduction factor\nfor short segments\nas % of print speed", bound:UC.bound(0.05,1), convert:UC.toFloat, modes:FDM}),
outputFinishFactor: UC.newInput("finish factor", {title:"% of nozzle diameter to\nshorten finish path by\nvalues of 0-1", bound:UC.bound(0.0,1), convert:UC.toFloat, modes:FDM}),
outputAccelComp: UC.newBoolean("acceleration", onBooleanClick, {title: "acceleration compensation\nexperimental", modes:FDM}),
outputOuterFirst: UC.newBoolean("outer first", onBooleanClick, {title: "output outermost shell first", modes:FDM}),
});