checkpoint shell finish speed multiplier work

This commit is contained in:
Stewart Allen 2017-12-06 19:47:40 -05:00
commit b11770b1b5
3 changed files with 18 additions and 6 deletions

View file

@ -217,7 +217,7 @@ var gs_kiri_print = exports;
newlayer = []; newlayer = [];
newout.push(newlayer); newout.push(newlayer);
layerout.forEach(function(out) { layerout.forEach(function(out) {
if (out.point) newlayer.push({emit:out.emit, point:{x:out.point.x, y:out.point.y, z:out.point.z}}); if (out.point) newlayer.push({emit:out.emit, speed:out.speed, point:{x:out.point.x, y:out.point.y, z:out.point.z}});
}); });
}); });
return newout; return newout;
@ -314,6 +314,7 @@ var gs_kiri_print = exports;
} }
/** /**
* FDM only. add points in polygon to an output array (print path)
* *
* @param {Polygon} poly * @param {Polygon} poly
* @param {Point} startPoint * @param {Point} startPoint
@ -330,16 +331,17 @@ var gs_kiri_print = exports;
dist, dist,
first = true, first = true,
settings = this.settings, settings = this.settings,
shellMult = extrude || settings.process.outputShellMult; shellMult = extrude || settings.process.outputShellMult,
shellSpeed = settings.process.outputShellSpeedMult || 1;
poly.forEachPoint(function(point) { poly.forEachPoint(function(point) {
if (first) { if (first) {
if (onfirst) onfirst(point); if (onfirst) onfirst(point);
// move from startPoint to point // move from startPoint to point
addOutput(output, point, 0); addOutput(output, point, 0, 1);
first = false; first = false;
} else { } else {
addOutput(output, point, shellMult); addOutput(output, point, shellMult, poly.depth == 0 ? shellSpeed : 1);
} }
}, true, closest.index); }, true, closest.index);
@ -520,7 +522,8 @@ var gs_kiri_print = exports;
} else { } else {
// top object // top object
var bounds = POLY.flatten(next.gatherOuter([])); var bounds = POLY.flatten(next.gatherOuter([]));
outputTraces([].appendAll(next.traces).appendAll(next.innerTraces() || []), bounds); // outputTraces([].appendAll(next.traces).appendAll(next.innerTraces() || []), bounds);
outputTraces([].appendAll(next.innerTraces() || []).appendAll(next.traces), bounds);
outputFills(next.fill_lines, bounds); outputFills(next.fill_lines, bounds);
outputSparse(next.fill_sparse, bounds); outputSparse(next.fill_sparse, bounds);
} }

View file

@ -376,7 +376,13 @@ var gs_kiri_slice = exports;
POLY.expand([top.poly], -offset1, top.poly.getZ(), top.traces, count, -offsetN, function(polys, countNow) { POLY.expand([top.poly], -offset1, top.poly.getZ(), top.traces, count, -offsetN, function(polys, countNow) {
last = polys; last = polys;
// mark each poly with depth (offset #) starting at 0 // mark each poly with depth (offset #) starting at 0
polys.forEach(function(p) { p.depth = count - countNow }); polys.forEach(function(p) {
p.depth = count - countNow;
if (p.inner) p.inner.forEach(function(pi) {
// use negative offset for inners
pi.depth = -(count - countNow);
});
});
}); });
} }
} }

View file

@ -72,6 +72,7 @@ self.kiri.license = exports.LICENSE;
// outputShellSpeed: 1, // outputShellSpeed: 1,
outputFillMult: 1, outputFillMult: 1,
outputSparseMult: 1, outputSparseMult: 1,
outputShellSpeedMult: 1,
outputRetractOver: 1, outputRetractOver: 1,
outputRetractDist: 1, outputRetractDist: 1,
outputRetractSpeed: 1, outputRetractSpeed: 1,
@ -264,6 +265,7 @@ self.kiri.license = exports.LICENSE;
// outputShellSpeed: 1.0, // outputShellSpeed: 1.0,
outputFillMult: 1.25, outputFillMult: 1.25,
outputSparseMult: 1.5, outputSparseMult: 1.5,
outputShellSpeedMult: 1.0,
outputRetractOver: 5.0, outputRetractOver: 5.0,
outputRetractDist: 0.5, outputRetractDist: 0.5,
outputRetractSpeed: 20, outputRetractSpeed: 20,
@ -2308,6 +2310,7 @@ self.kiri.license = exports.LICENSE;
outputShellMult: UC.newInput("shell factor", {title:"extrusion multiplier\n0.0 - 2.0", convert:UC.toFloat, bound:UC.bound(0.0,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}), 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}), 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 // cam
camTolerance: UC.newInput("tolerance", {title:"surface precision\nin millimeters", convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}), camTolerance: UC.newInput("tolerance", {title:"surface precision\nin millimeters", convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}),