add separate first layer fill speed

This commit is contained in:
Stewart Allen 2018-01-18 21:53:46 -05:00
commit e695cd658c
2 changed files with 11 additions and 5 deletions

View file

@ -491,7 +491,10 @@ var gs_kiri_print = exports;
sparseMult = process.outputSparseMult,
finishFactor = process.outputFinishFactor || 0,
finishSpeed = opt.speed || process.outputFinishrate,
printSpeed = opt.speed || (firstLayer ? process.firstLayerRate : process.outputFeedrate),
firstShellSpeed = process.firstLayerRate,
firstFillSpeed = process.firstLayerFillRate,
printSpeed = opt.speed || (firstLayer ? firstShellSpeed : process.outputFeedrate),
fillSpeed = opt.speed || opt.fillSpeed || (firstLayer ? firstFillSpeed || firstShellSpeed : process.outputFeedrate),
moveSpeed = process.outputSeekrate,
outerFirst = process.outputOuterFirst,
origin = startPoint.add(offset),
@ -594,7 +597,7 @@ var gs_kiri_print = exports;
// to avoid shaking the printer to death.
if (find.d <= thinWall && len <= thinWall) {
p2 = p1.midPointTo(p2);
addOutput(preout, p2, fillMult * (find.d / thinWall), printSpeed);
addOutput(preout, p2, fillMult * (find.d / thinWall), fillSpeed);
lastout = 1;
} else {
// retract if dist trigger and crosses a slice top polygon
@ -604,12 +607,12 @@ var gs_kiri_print = exports;
// bridge ends of fill when they're close together
if (dist < thinWall) {
addOutput(preout, p1, fillMult, printSpeed);
addOutput(preout, p1, fillMult, fillSpeed);
} else {
addOutput(preout, p1, 0, moveSpeed);
}
addOutput(preout, p2, fillMult, printSpeed);
addOutput(preout, p2, fillMult, fillSpeed);
lastout = 2;
}

View file

@ -73,6 +73,7 @@ self.kiri.license = exports.LICENSE;
sliceVase: 1,
firstSliceHeight: 1,
firstLayerRate: 1,
firstLayerFillRate: 1,
outputRaft: 1,
outputTemp: 1,
outputFanMax: 1,
@ -276,6 +277,7 @@ self.kiri.license = exports.LICENSE;
firstSliceHeight: 0.25,
firstLayerRate: 30,
firstLayerFillRate: 40,
outputRaft: false,
outputTemp: 220,
@ -2394,7 +2396,8 @@ self.kiri.license = exports.LICENSE;
firstLayer: UC.newGroup("first layer", null, {modes:FDM}),
firstSliceHeight: UC.newInput("slice height", {title:"in millimeters\nshould be >= slice height", convert:UC.toFloat, modes:FDM}),
firstLayerRate: UC.newInput("print speed", {title:"print move max speed\nmillimeters / minute", convert:UC.toFloat, modes:FDM}),
firstLayerRate: UC.newInput("shell speed", {title:"print move max speed\nmillimeters / minute", convert:UC.toFloat, modes:FDM}),
firstLayerFillRate: UC.newInput("fill speed", {title:"fill move max speed\nmillimeters / minute", convert:UC.toFloat, modes:FDM}),
outputBrimCount: UC.newInput("skirt count", {title:"number of skirts", convert:UC.toInt, modes:FDM}),
outputBrimOffset: UC.newInput("skirt offset", {title:"millimeters", convert:UC.toFloat, modes:FDM}),