reformat helical

This commit is contained in:
Stewart Allen 2025-11-26 12:58:46 -05:00
commit c20c3ae7e5
4 changed files with 253 additions and 253 deletions

View file

@ -3,7 +3,9 @@ import { CAM } from "./driver-fe.js";
import { clearPops, env } from "./client.js";
let alert, lastWidget;
export let helicalOn = false;
export function selectHelical() {
if (helicalOn) {
return helicalDone();
@ -25,6 +27,7 @@ export function selectHelical() {
}
}
});
helicalOn = env.hoveredOp;
helicalOn.classList.add("editing");
api.feature.on_mouse_up = (obj, ev) => {

View file

@ -104,7 +104,6 @@ function cylinderShow(onProgress,onDone){
cyls[face] = faces;
CAM.cylinder_show(widget);
}
onDone({faces:Object.keys(cyls).map(v => parseInt(v)),error});
});
}

View file

@ -10,10 +10,10 @@ export class OpHelical extends CamOp {
constructor(state, op) {
super(state, op);
}
async slice(progress) {
let { op, state } = this;
let { settings, addSlices, widget, updateToolDiams, slicer } = state;
let { color } = state;
let { settings, addSlices, widget, updateToolDiams } = state;
let {
cylinders,
forceStartAng,
@ -29,6 +29,7 @@ export class OpHelical extends CamOp {
entry,
entryOffset,
} = op;
let { color } = state;
let { stock } = settings
let tool = new Tool(settings, op.tool),
@ -37,7 +38,7 @@ export class OpHelical extends CamOp {
startAngle = forceStartAng ? startAng : 0;
updateToolDiams(toolDiam);
// console.log({cylinders})
// console.log({cylinders});
let faces = cylinders[widget.id] ?? [];
if (faces.faces) faces = faces.faces;
let polys = [];
@ -136,8 +137,8 @@ export class OpHelical extends CamOp {
0
)
);
// console.log({down,toBottom,ofFull,ofCircle,startAngle,finalAngle,finalEnd});
// console.log({down,toBottom,ofFull,ofCircle,startAngle,finalAngle,finalEnd});
//if not already very close to final point
if (ofCircle >= 0.001) {
//circle down to final point
@ -226,7 +227,6 @@ export class OpHelical extends CamOp {
}
let slice = newSlice(0);
slice.camTrace = { tool: op.tool, rate: op.feed, plunge: op.rate };
slice.camLines = polys;
@ -234,29 +234,28 @@ export class OpHelical extends CamOp {
.output()
.setLayer("Helical", { face: color, line: color })
.addPolys(slice.camLines);
addSlices(slice);
sliceOut.push(slice);
}
async prepare(ops, progress) {
let { op, state } = this;
let { settings, widget, addSlices, updateToolDiams } = state;
let {
setTool,
setSpindle,
polyEmit,
camOut,
setPrintPoint,
getPrintPoint,
} = ops;
let { tool, spindle, rate, feed } = op;
let { tool, spindle, rate, feed } = this.op;
setTool(tool, feed, rate);
setSpindle(spindle);
let [polys] = this.sliceOut.map((s) => s.camLines);
let pp = getPrintPoint();
polys = polys.slice();
for (;;) {
let closestDist = Infinity,
closestI,
@ -276,9 +275,9 @@ export class OpHelical extends CamOp {
if (!closest) break;
poly = polys[closestI]
polys[closestI] = null;
//emit
pp = polyEmit(poly, 0, 1, poly.points[0])
}
setPrintPoint(pp);
}
}

View file

@ -87,7 +87,7 @@ export async function cam_slice(settings, widget, onupdate, ondone) {
bottom_z, bottom_cut
}, 3);
// console.log({ track, bounds, stock, workarea });
// console.log({ bounds, stock, track, workarea });
return structuredClone(workarea);
};
@ -96,7 +96,8 @@ export async function cam_slice(settings, widget, onupdate, ondone) {
var_compute();
if (tabs) {
// make tab polygons
// create tab polygons. defer offset to each op
// since it's dependent on selected tool diameter
tabs.forEach(tab => {
let zero = newPoint(0, 0, 0),
point = newPoint(tab.pos.x, tab.pos.y, tab.pos.z),
@ -110,8 +111,6 @@ export async function cam_slice(settings, widget, onupdate, ondone) {
.map(v => newPoint(v.x, v.y, v.z));
poly.move(point);
tab.poly = poly;
// tslice.output().setLayer("tabs", 0xff0000).addPoly(poly);
// sliceAll.push(tslice);
});
}