checkpoint belt work
This commit is contained in:
parent
8798d060ac
commit
3f0327393d
3 changed files with 35 additions and 26 deletions
|
|
@ -978,8 +978,8 @@
|
|||
if (settings.device.bedBelt && WIDGETS[0].rotinfo) {
|
||||
let ri = WIDGETS[0].rotinfo;
|
||||
ri.dy = ri.dz = 0;
|
||||
ri.dy = settings.device.bedDepth / 2 - ri.ypos;
|
||||
stack.obj.rotate(WIDGETS[0].rotinfo);
|
||||
// ri.dy = settings.device.bedDepth / 2 - ri.ypos;
|
||||
// stack.obj.rotate(WIDGETS[0].rotinfo);
|
||||
}
|
||||
segtimes[`${segNumber}_draw`] = Date.now() - startTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
gcodeLayer = device.gcodeLayer,
|
||||
gcodeTrack = device.gcodeTrack,
|
||||
tool = 0,
|
||||
isBelt = device.bedBelt,
|
||||
isBelt = false && device.bedBelt,
|
||||
bedType = isBelt ? "belt" : "fixed",
|
||||
extruder = extruders[tool],
|
||||
offset_x = extruder.extOffsetX,
|
||||
|
|
@ -199,11 +199,14 @@
|
|||
}
|
||||
let epos = isBelt ? { x: pos.x, y: pos.y, z: pos.z } : pos;
|
||||
if (isBelt) {
|
||||
let rpos = new THREE.Vector3(pos.x, pos.y, pos.z);
|
||||
rpos.applyAxisAngle( taxis, angle );
|
||||
epos.x = rpos.x;
|
||||
epos.y = rpos.z * icos;
|
||||
epos.z = rpos.y + (bcos * rpos.z);
|
||||
// let rpos = new THREE.Vector3(pos.x, pos.y, pos.z);
|
||||
// rpos.applyAxisAngle( taxis, angle );
|
||||
// epos.x = rpos.x;
|
||||
// epos.y = rpos.z * icos;
|
||||
// epos.z = rpos.y + (bcos * rpos.z);
|
||||
epos.x = pos.x;
|
||||
epos.z = pos.z * icos;
|
||||
epos.y = pos.y + epos.z * bcos;
|
||||
}
|
||||
if (emit.x) o.append(" X").append(epos.x.toFixed(decimals));
|
||||
if (emit.y) o.append(" Y").append(epos.y.toFixed(decimals));
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@
|
|||
print = self.worker.print = KIRI.newPrint(settings, widgets),
|
||||
isThin = settings.controller.lineType === "line",
|
||||
isFlat = settings.controller.lineType === "flat",
|
||||
isBelt = device.bedBelt;
|
||||
isBelt = device.bedBelt,
|
||||
beltYoff = device.bedDepth / 2;
|
||||
|
||||
// compute bounds if missing
|
||||
if (!bounds) {
|
||||
|
|
@ -297,11 +298,13 @@
|
|||
let widget = mesh.widget;
|
||||
let mslices = widget.slices;
|
||||
if (mslices && mslices[layer]) {
|
||||
let offset = widget.track.pos || mesh.position || center;
|
||||
let offset = mesh.position || center;
|
||||
if (isBelt) {
|
||||
offset = Object.clone(offset);
|
||||
offset = Object.clone(center); // widget.track.pos
|
||||
// offset = Object.clone(offset);
|
||||
let ycomp = widget.track.pos.y - beltYoff;
|
||||
offset.y = widget.rotinfo.dz;
|
||||
offset.z = widget.rotinfo.dy;
|
||||
// offset.z = widget.rotinfo.dy;
|
||||
}
|
||||
slices.push({
|
||||
slice: mslices[layer],
|
||||
|
|
@ -407,6 +410,27 @@
|
|||
|
||||
print.output = output;
|
||||
|
||||
// if belt, adjust z and y to baselines
|
||||
if (isBelt) {
|
||||
let bcos = Math.cos(Math.PI/4);
|
||||
let icos = 1/bcos;
|
||||
let miny = Infinity, minz = Infinity;
|
||||
for (let layer of output) {
|
||||
for (let rec of layer) {
|
||||
rec.point.z = rec.point.z * icos;
|
||||
rec.point.y = rec.point.y + rec.point.z * bcos;
|
||||
miny = Math.min(miny, rec.point.y);
|
||||
minz = Math.min(minz, rec.point.y);
|
||||
}
|
||||
}
|
||||
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) => {
|
||||
|
|
@ -414,24 +438,6 @@
|
|||
}, { tools: device.extruders, thin: isThin, flat: isFlat, fdm: true });
|
||||
}
|
||||
|
||||
// if belt, adjust z and y to baselines
|
||||
if (isBelt) {
|
||||
let miny = Infinity, minz = Infinity;
|
||||
for (let layer of output) {
|
||||
for (let rec of layer) {
|
||||
miny = Math.min(miny, rec.point.y);
|
||||
minz = Math.min(minz, rec.point.y);
|
||||
}
|
||||
}
|
||||
console.log({miny, minz});
|
||||
// for (let layer of output) {
|
||||
// for (let rec of layer) {
|
||||
// rec.point.y -= minz;
|
||||
// rec.point.z -= miny;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
return print.render;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue