checkpoint belt work

This commit is contained in:
Stewart Allen 2021-01-08 23:44:26 -05:00
commit 8798d060ac
6 changed files with 43 additions and 32 deletions

View file

@ -22,7 +22,7 @@
gcodeLayer = device.gcodeLayer,
gcodeTrack = device.gcodeTrack,
tool = 0,
isBelt = device.bedBelt || false,
isBelt = device.bedBelt,
bedType = isBelt ? "belt" : "fixed",
extruder = extruders[tool],
offset_x = extruder.extOffsetX,

View file

@ -297,10 +297,11 @@
let widget = mesh.widget;
let mslices = widget.slices;
if (mslices && mslices[layer]) {
let offset = mesh.position || center;
let offset = widget.track.pos || mesh.position || center;
if (isBelt) {
offset = Object.clone(offset);
offset.y -= widget.belt_offset || 0;
offset.y = widget.rotinfo.dz;
offset.z = widget.rotinfo.dy;
}
slices.push({
slice: mslices[layer],
@ -406,8 +407,15 @@
print.output = output;
// render if not explicitly disabled
if (render) {
print.render = FDM.prepareRender(output, (progress, layer) => {
update(0.5 + progress * 0.5, "render", layer);
}, { tools: device.extruders, thin: isThin, flat: isFlat, fdm: true });
}
// if belt, adjust z and y to baselines
if (false && isBelt) {
if (isBelt) {
let miny = Infinity, minz = Infinity;
for (let layer of output) {
for (let rec of layer) {
@ -416,21 +424,15 @@
}
}
console.log({miny, minz});
for (let layer of output) {
for (let rec of layer) {
// rec.point.y -= minz;
// rec.point.z -= miny;
}
}
// for (let layer of output) {
// for (let rec of layer) {
// rec.point.y -= minz;
// rec.point.z -= miny;
// }
// }
}
// render if not explicitly disabled
if (render) {
print.render = FDM.prepareRender(output, (progress, layer) => {
update(0.5 + progress * 0.5, "render", layer);
}, { tools: device.extruders, thin: isThin, flat: isFlat, fdm: true });
return print.render;
}
return print.render;
};
class Counter {

View file

@ -272,7 +272,11 @@
for (let top of slices[0].tops) {
bounds.merge(top.poly.bounds);
}
widget.belt_offset = bounds.miny;
widget.belt = {
offset_y: bounds.miny,
pos_y: sdev.bedDepth / 2 + widget.track.pos.y,
ypos: widget.belt.ypos
};
}
// report slicing complete