checkpoint range work
This commit is contained in:
parent
b172e29054
commit
b71ff1fa0b
4 changed files with 29 additions and 22 deletions
1
notes.md
1
notes.md
|
|
@ -40,6 +40,7 @@
|
|||
* `F` apply finish speed to exposed top and underside flat areas
|
||||
* `F` expand internal supporting flats / solids before projection
|
||||
|
||||
* `P` extruder + filament max flow rate cap in planner
|
||||
* `P` revisit path routing / optimization
|
||||
* `P` implement infill clipping in wasm
|
||||
* `P` solid fill the tops of supports for down facing flats
|
||||
|
|
|
|||
|
|
@ -504,7 +504,6 @@
|
|||
extruder = slice.extruder || 0,
|
||||
nozzleSize = device.extruders[extruder].extNozzle,
|
||||
firstLayer = opt.first || false,
|
||||
minSeek = nozzleSize * (opt.minSeek || 1.5),
|
||||
thinWall = nozzleSize * (opt.thinWall || 1.75),
|
||||
retractDist = opt.retractOver || 2,
|
||||
fillMult = opt.mult || process.outputFillMult,
|
||||
|
|
@ -524,7 +523,6 @@
|
|||
zhop = process.zHopDistance || 0,
|
||||
antiBacklash = process.antiBacklash,
|
||||
wipeDist = process.outputRetractWipe || 0,
|
||||
doSupport = opt.support,
|
||||
isBelt = device.bedBelt,
|
||||
startClone = startPoint.clone(),
|
||||
z = slice.z,
|
||||
|
|
|
|||
|
|
@ -27,29 +27,32 @@
|
|||
PROC = Object.keys(kiri.conf.defaults.fdm.p);
|
||||
|
||||
let rangeVars = {
|
||||
// slice
|
||||
"sliceShells": LANG.sl_shel_s,
|
||||
"sliceFillType": LANG.fi_type,
|
||||
"sliceFillSparse": LANG.fi_pcnt_s,
|
||||
"sliceSolidMinArea": LANG.ad_msol_s,
|
||||
// prepare
|
||||
"sliceShellOrder": LANG.sl_ordr_s,
|
||||
"outputTemp": LANG.ou_nozl_s,
|
||||
"outputBedTemp": LANG.ou_bedd_s,
|
||||
"outputFeedrate": LANG.ou_feed_s,
|
||||
"outputFinishrate": LANG.ou_fini_s,
|
||||
"outputShellMult": LANG.ou_shml_s,
|
||||
"outputFillMult": LANG.ou_flml_s,
|
||||
"outputSparseMult": LANG.ou_spml_s,
|
||||
"outputRetractDist": LANG.ad_rdst_s,
|
||||
"outputRetractSpeed": LANG.outputRetractSpeed,
|
||||
"outputRetractWipe": LANG.ad_wpln_s,
|
||||
"outputRetractDwell": LANG.ad_rdwl_s,
|
||||
"outputShortPoly": LANG.ad_spol_s,
|
||||
"outputMinSpeed": LANG.ad_mins_s,
|
||||
"outputCoastDist": LANG.ad_scst_s,
|
||||
"sliceSupportDensity": LANG.sp_dens_s,
|
||||
"sliceSupportOffset": LANG.sp_offs_s,
|
||||
"sliceSolidMinArea": LANG.ad_msol_s,
|
||||
"sliceLayerStart": LANG.sl_strt_s,
|
||||
"zHopDistance": LANG.ad_zhop_s
|
||||
"zHopDistance": LANG.ad_zhop_s,
|
||||
// export
|
||||
"outputTemp": LANG.ou_nozl_s,
|
||||
"outputBedTemp": LANG.ou_bedd_s,
|
||||
"outputRetractDist": LANG.ad_rdst_s,
|
||||
"outputRetractSpeed": LANG.outputRetractSpeed,
|
||||
"outputRetractDwell": LANG.ad_rdwl_s,
|
||||
};
|
||||
|
||||
for (let key of Object.keys(rangeVars)) {
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@
|
|||
FDM.export = function(print, online) {
|
||||
let layers = print.output,
|
||||
settings = FDM.fixExtruders(print.settings),
|
||||
getRangeParameters = FDM.getRangeParameters,
|
||||
device = settings.device,
|
||||
extruders = device.extruders,
|
||||
process = settings.process,
|
||||
gcodeFan = device.gcodeFan,
|
||||
gcodeLayer = device.gcodeLayer,
|
||||
gcodeTrack = device.gcodeTrack,
|
||||
|
|
@ -46,11 +46,13 @@
|
|||
lout = null,
|
||||
last = null,
|
||||
zpos = 0,
|
||||
zhop = process.zHopDistance || 0,
|
||||
process = settings.process,
|
||||
loops = process.outputLoopLayers,
|
||||
zhop = process.zHopDistance || 0, // range
|
||||
seekMMM = process.outputSeekrate * 60,
|
||||
retDist = process.outputRetractDist,
|
||||
retSpeed = process.outputRetractSpeed * 60,
|
||||
retDwell = process.outputRetractDwell || 0,
|
||||
retDist = process.outputRetractDist, // range
|
||||
retSpeed = process.outputRetractSpeed * 60, // range
|
||||
retDwell = process.outputRetractDwell || 0, // range
|
||||
timeDwell = retDwell / 1000,
|
||||
arcDist = isBelt || !isDanger ? 0 : (process.arcTolerance || 0),
|
||||
originCenter = process.outputOriginCenter,
|
||||
|
|
@ -62,9 +64,9 @@
|
|||
travel_speed: seekMMM,
|
||||
retract_speed: retSpeed,
|
||||
retract_distance: retDist,
|
||||
temp: process.firstLayerNozzleTemp || process.outputTemp,
|
||||
temp_bed: process.firstLayerBedTemp || process.outputBedTemp,
|
||||
bed_temp: process.firstLayerBedTemp || process.outputBedTemp,
|
||||
temp: process.firstLayerNozzleTemp || process.outputTemp, // range
|
||||
temp_bed: process.firstLayerBedTemp || process.outputBedTemp, // range
|
||||
bed_temp: process.firstLayerBedTemp || process.outputBedTemp, // range
|
||||
fan_speed: process.outputFanMax,
|
||||
speed: process.outputFanMax, // legacy
|
||||
top: offset ? device.bedDepth : device.bedDepth/2,
|
||||
|
|
@ -82,9 +84,8 @@
|
|||
bytes = 0,
|
||||
bcos = Math.cos(Math.PI/4),
|
||||
icos = 1 / bcos,
|
||||
loops = process.outputLoopLayers,
|
||||
inLoop,
|
||||
arcAt,
|
||||
params,
|
||||
arcQ = [];
|
||||
|
||||
if (isBelt && loops) {
|
||||
|
|
@ -283,6 +284,10 @@
|
|||
|
||||
while (layer < layers.length) {
|
||||
path = layers[layer];
|
||||
params = getRangeParameters(settings, path.layer);
|
||||
// TODO update process settings from params override
|
||||
// console.log(path.layer, params)
|
||||
|
||||
emitPerMM = print.extrudePerMM(
|
||||
extruder.extNozzle,
|
||||
extruder.extFilament,
|
||||
|
|
@ -340,13 +345,13 @@
|
|||
if (layer === 1) {
|
||||
// update temps when first layer overrides are present
|
||||
if (process.firstLayerNozzleTemp) {
|
||||
subst.temp = process.outputTemp;
|
||||
subst.temp = process.outputTemp; // range
|
||||
if (t0) appendSub("M104 S{temp} T0");
|
||||
if (t1) appendSub("M104 S{temp} T1");
|
||||
if (!(t0 || t1)) appendSub("M104 S{temp} T{tool}");
|
||||
}
|
||||
if (process.firstLayerBedTemp) {
|
||||
subst.bed_temp = subst.temp_bed = process.outputBedTemp;
|
||||
subst.bed_temp = subst.temp_bed = process.outputBedTemp; // range
|
||||
appendSub("M140 S{temp_bed} T0");
|
||||
}
|
||||
}
|
||||
|
|
@ -359,7 +364,7 @@
|
|||
// iterate through layer outputs
|
||||
for (pidx=0; pidx<path.length; pidx++) {
|
||||
out = path[pidx];
|
||||
speedMMM = (out.speed || process.outputFeedrate) * 60;
|
||||
speedMMM = (out.speed || process.outputFeedrate) * 60; // range
|
||||
|
||||
// look for extruder change, run scripts, recalc emit factor
|
||||
if (out.tool !== undefined && out.tool !== tool) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue