update laser driver code format

This commit is contained in:
Stewart Allen 2022-02-21 10:18:46 -05:00
commit e22fe7d483

View file

@ -2,18 +2,18 @@
"use strict"; "use strict";
(function() { // dep: base.polygons
// dep: base.point
// dep: kiri.slice
gapp.register("kiri-mode.laser.driver", [], (root, exports) => {
if (!self.kiri.driver) self.kiri.driver = { }; const { base, kiri } = root;
if (self.kiri.driver.LASER) return; const { driver, newSlice } = kiri;
const { FDM, CAM } = driver;
const { polygons, newPoint } = base;
let KIRI = self.kiri, const POLY = polygons;
BASE = self.base, const LASER = driver.LASER = {
UTIL = BASE.util,
POLY = BASE.polygons,
FDM = KIRI.driver.FDM,
CAM = KIRI.driver.CAM,
LASER = KIRI.driver.LASER = {
init, init,
slice, slice,
prepare, prepare,
@ -21,18 +21,16 @@
exportGCode, exportGCode,
exportSVG, exportSVG,
exportDXF exportDXF
}, };
newSlice = KIRI.newSlice,
newPoint = BASE.newPoint;
function init(kiri, api) { function init(kiri, api) {
api.event.on("settings.saved", (settings) => { api.event.on("settings.saved", (settings) => {
let UI = kiri.api.ui; let ui = kiri.api.ui;
UI.knife.marker.style.display = UI.knifeOn.checked ? '' : 'none'; ui.knife.marker.style.display = ui.knifeOn.checked ? '' : 'none';
}); });
} }
/** /**
* DRIVER SLICE CONTRACT * DRIVER SLICE CONTRACT
* *
* @param {Object} settings * @param {Object} settings
@ -40,7 +38,7 @@
* @param {Function} onupdate (called with % complete and optional message) * @param {Function} onupdate (called with % complete and optional message)
* @param {Function} ondone (called when complete with an array of Slice objects) * @param {Function} ondone (called when complete with an array of Slice objects)
*/ */
function slice(settings, widget, onupdate, ondone) { function slice(settings, widget, onupdate, ondone) {
let proc = settings.process; let proc = settings.process;
let offset = proc.laserOffset || 0; let offset = proc.laserOffset || 0;
let color = settings.controller.dark ? 0xbbbbbb : 0; let color = settings.controller.dark ? 0xbbbbbb : 0;
@ -54,7 +52,7 @@
let points = widget.getPoints(); let points = widget.getPoints();
let indices = []; let indices = [];
BASE.slice(points, { base.slice(points, {
zMin: bounds.min.z, zMin: bounds.min.z,
zMax: bounds.max.z, zMax: bounds.max.z,
zGen(zopt) { zGen(zopt) {
@ -103,9 +101,9 @@
}); });
ondone(); ondone();
}); });
}; };
function sliceEmitObjects(print, slice, groups, opt = { }) { function sliceEmitObjects(print, slice, groups, opt = { }) {
let start = newPoint(0,0,0); let start = newPoint(0,0,0);
let process = print.settings.process; let process = print.settings.process;
let grouped = process.outputLaserGroup; let grouped = process.outputLaserGroup;
@ -164,18 +162,18 @@
} }
return emit; return emit;
}; };
/** /**
* DRIVER PRINT CONTRACT * DRIVER PRINT CONTRACT
* *
* @param {Object} print state object * @param {Object} print state object
* @param {Function} update incremental callback * @param {Function} update incremental callback
*/ */
function prepare(widgets, settings, update) { function prepare(widgets, settings, update) {
let device = settings.device, let device = settings.device,
process = settings.process, process = settings.process,
print = self.worker.print = KIRI.newPrint(settings, widgets), print = self.worker.print = kiri.newPrint(settings, widgets),
knifeOn = process.knifeOn, knifeOn = process.knifeOn,
knifeDepth = process.outputKnifeDepth, knifeDepth = process.outputKnifeDepth,
knifePasses = process.outputKnifePasses, knifePasses = process.outputKnifePasses,
@ -201,7 +199,7 @@
out.push( center.projectOnSlope(s1, knifeTipOff) ); out.push( center.projectOnSlope(s1, knifeTipOff) );
} }
while (ticks-- > 0) { while (ticks-- > 0) {
out.push( center.projectOnSlope(BASE.newSlopeFromAngle(a1 + off), knifeTipOff) ); out.push( center.projectOnSlope(base.newSlopeFromAngle(a1 + off), knifeTipOff) );
a1 += step * dir; a1 += step * dir;
} }
out.push( center.projectOnSlope(s2, knifeTipOff) ); out.push( center.projectOnSlope(s2, knifeTipOff) );
@ -342,14 +340,14 @@
dh = device.bedDepth / 2, dh = device.bedDepth / 2,
sort = !process.outputLaserLayer, sort = !process.outputLaserLayer,
// sort objects by size when not using laser layer ordering // sort objects by size when not using laser layer ordering
c = sort ? output.sort(KIRI.Sort) : output, c = sort ? output.sort(kiri.Sort) : output,
p = new KIRI.Pack(dw, dh, process.outputTileSpacing).fit(c, !sort); p = new kiri.Pack(dw, dh, process.outputTileSpacing).fit(c, !sort);
// test different ratios until packed // test different ratios until packed
while (!p.packed) { while (!p.packed) {
dw *= 1.1; dw *= 1.1;
dh *= 1.1; dh *= 1.1;
p = new KIRI.Pack(dw, dh, process.outputTileSpacing).fit(c ,!sort); p = new kiri.Pack(dw, dh, process.outputTileSpacing).fit(c ,!sort);
} }
if (pack) if (pack)
@ -369,16 +367,16 @@
return print.render = FDM.prepareRender(output, (progress, layer) => { return print.render = FDM.prepareRender(output, (progress, layer) => {
update(0.5 + progress * 0.5, "render", layer); update(0.5 + progress * 0.5, "render", layer);
}, { thin: true, z: 0, action: "cut", moves: process.knifeOn }); }, { thin: true, z: 0, action: "cut", moves: process.knifeOn });
}; };
function exportLaser(print, online, ondone) { function exportLaser(print, online, ondone) {
ondone(print.output); ondone(print.output);
} }
/** /**
* *
*/ */
function exportElements(settings, output, onpre, onpoly, onpost, onpoint, onlayer) { function exportElements(settings, output, onpre, onpoly, onpost, onpoint, onlayer) {
let process = settings.process, let process = settings.process,
zcolor = process.outputLaserZColor, zcolor = process.outputLaserZColor,
last, last,
@ -459,12 +457,12 @@
}); });
onpost(); onpost();
}; };
/** /**
* *
*/ */
function exportGCode(settings, data) { function exportGCode(settings, data) {
let lines = [], dx = 0, dy = 0, z = 0, feedrate; let lines = [], dx = 0, dy = 0, z = 0, feedrate;
let dev = settings.device; let dev = settings.device;
let proc = settings.process; let proc = settings.process;
@ -544,12 +542,12 @@
); );
return lines.join('\n'); return lines.join('\n');
}; };
/** /**
* *
*/ */
function exportSVG(settings, data, cut_color) { function exportSVG(settings, data, cut_color) {
let { process } = settings; let { process } = settings;
let zcolor = process.outputLaserZColor ? 1 : 0; let zcolor = process.outputLaserZColor ? 1 : 0;
let zstack = process.outputLaserStack; let zstack = process.outputLaserStack;
@ -591,7 +589,7 @@
}, },
function(point) { function(point) {
z = point.z; z = point.z;
return UTIL.round(point.x - dx, 3) + "," + UTIL.round(my - point.y - dy, 3); return util.round(point.x - dx, 3) + "," + util.round(my - point.y - dy, 3);
}, },
function(layer, z, thick, layers) { function(layer, z, thick, layers) {
if (zcolor) { if (zcolor) {
@ -602,12 +600,12 @@
); );
return lines.join('\n'); return lines.join('\n');
}; };
/** /**
* *
*/ */
function exportDXF(settings, data) { function exportDXF(settings, data) {
let lines = []; let lines = [];
exportElements( exportElements(
@ -673,6 +671,6 @@
); );
return lines.join('\n'); return lines.join('\n');
}; };
})(); });