reformat helical
This commit is contained in:
parent
aadbb3e7ee
commit
c20c3ae7e5
4 changed files with 253 additions and 253 deletions
|
|
@ -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) => {
|
||||
|
|
|
|||
|
|
@ -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});
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue