checkpoint cut tools drivers
This commit is contained in:
parent
ce78873f76
commit
c8bfa6a789
5 changed files with 39 additions and 15 deletions
|
|
@ -5,7 +5,10 @@
|
||||||
// dep: kiri-mode.laser.driver
|
// dep: kiri-mode.laser.driver
|
||||||
gapp.register("kiri-mode.drag.driver", [], (root, exports) => {
|
gapp.register("kiri-mode.drag.driver", [], (root, exports) => {
|
||||||
|
|
||||||
root.kiri.driver.DRAG = root.kiri.driver.LASER;
|
const DRIVERS = root.kiri.driver;
|
||||||
|
const { LASER } = DRIVERS;
|
||||||
|
const { TYPE } = LASER;
|
||||||
|
DRIVERS.DRAG = Object.assign({}, LASER, { name: "DragKnife", type: TYPE.DRAG });
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,16 @@ const { driver, newSlice } = kiri;
|
||||||
const { polygons, newPoint } = base;
|
const { polygons, newPoint } = base;
|
||||||
|
|
||||||
const POLY = polygons;
|
const POLY = polygons;
|
||||||
const DRIVER = driver.LASER = {
|
const TYPE = {
|
||||||
|
LASER: 0,
|
||||||
|
DRAG: 1,
|
||||||
|
WJET: 2,
|
||||||
|
WEDM: 3
|
||||||
|
};
|
||||||
|
|
||||||
|
driver.LASER = {
|
||||||
|
TYPE,
|
||||||
|
type: TYPE.LASER,
|
||||||
name: 'Laser',
|
name: 'Laser',
|
||||||
init,
|
init,
|
||||||
slice,
|
slice,
|
||||||
|
|
@ -22,17 +31,13 @@ const DRIVER = driver.LASER = {
|
||||||
export: exportLaser,
|
export: exportLaser,
|
||||||
exportGCode,
|
exportGCode,
|
||||||
exportSVG,
|
exportSVG,
|
||||||
exportDXF
|
exportDXF,
|
||||||
};
|
};
|
||||||
|
|
||||||
const state = {};
|
|
||||||
|
|
||||||
function init(kiri, api, current) {
|
function init(kiri, api, current) {
|
||||||
api.event.on("settings.saved", settings => {
|
api.event.on("settings.saved", settings => {
|
||||||
let ui = kiri.api.ui;
|
let ui = kiri.api.ui;
|
||||||
});
|
});
|
||||||
state.driver = current;
|
|
||||||
state.isWEDM = (current === driver.WEDM);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -44,8 +49,6 @@ function init(kiri, api, current) {
|
||||||
* @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 { isWEDM } = state;
|
|
||||||
|
|
||||||
let proc = settings.process;
|
let proc = settings.process;
|
||||||
let offset = proc.ctSliceKerf || 0;
|
let offset = proc.ctSliceKerf || 0;
|
||||||
let color = settings.controller.dark ? 0xbbbbbb : 0;
|
let color = settings.controller.dark ? 0xbbbbbb : 0;
|
||||||
|
|
@ -201,9 +204,8 @@ async function prepare(widgets, settings, update) {
|
||||||
// convert arc into line segments
|
// convert arc into line segments
|
||||||
function arc(center, s1, s2, out) {
|
function arc(center, s1, s2, out) {
|
||||||
let a1 = s1.angle;
|
let a1 = s1.angle;
|
||||||
let a2 = s2.angle;
|
|
||||||
let diff = s1.angleDiff(s2,true);
|
|
||||||
let step = 5;
|
let step = 5;
|
||||||
|
let diff = s1.angleDiff(s2, true);
|
||||||
let ticks = Math.abs(Math.floor(diff / step));
|
let ticks = Math.abs(Math.floor(diff / step));
|
||||||
let dir = Math.sign(diff);
|
let dir = Math.sign(diff);
|
||||||
let off = (diff % step) / 2;
|
let off = (diff % step) / 2;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,13 @@ gapp.register("kiri-mode.wedm.driver", [], (root, exports) => {
|
||||||
const { kiri, moto } = root;
|
const { kiri, moto } = root;
|
||||||
const DRIVERS = kiri.driver;
|
const DRIVERS = kiri.driver;
|
||||||
const { CAM, LASER } = DRIVERS;
|
const { CAM, LASER } = DRIVERS;
|
||||||
const WEDM = DRIVERS.WEDM = Object.assign({}, LASER, { name: "WireEDM" });
|
const { TYPE } = LASER;
|
||||||
|
const WEDM = DRIVERS.WEDM = Object.assign({}, LASER, {
|
||||||
|
name: "WireEDM",
|
||||||
|
type: TYPE.WEDM,
|
||||||
|
init,
|
||||||
|
prepare
|
||||||
|
});
|
||||||
const DEG2RAD = Math.PI / 180;
|
const DEG2RAD = Math.PI / 180;
|
||||||
|
|
||||||
const state = {
|
const state = {
|
||||||
|
|
@ -66,7 +72,7 @@ function faceDone() {
|
||||||
state.selecting = false;
|
state.selecting = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
WEDM.init = (kiri, api, driver) => {
|
function init(kiri, api, driver) {
|
||||||
LASER.init(kiri, api, driver);
|
LASER.init(kiri, api, driver);
|
||||||
|
|
||||||
state.api = api;
|
state.api = api;
|
||||||
|
|
@ -102,6 +108,17 @@ WEDM.init = (kiri, api, driver) => {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
async function prepare(widgets, settings, update) {
|
||||||
|
// let device = settings.device,
|
||||||
|
// process = settings.process,
|
||||||
|
// print = self.worker.print = kiri.newPrint(settings, widgets),
|
||||||
|
// output = print.output = [];
|
||||||
|
|
||||||
|
// filter ignored widgets
|
||||||
|
widgets = widgets.filter(w => !w.track.ignore && !w.meta.disabled);
|
||||||
|
|
||||||
|
LASER.prepare(widgets, settings, update);
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,9 @@
|
||||||
gapp.register("kiri-mode.wjet.driver", [], (root, exports) => {
|
gapp.register("kiri-mode.wjet.driver", [], (root, exports) => {
|
||||||
|
|
||||||
const DRIVERS = root.kiri.driver;
|
const DRIVERS = root.kiri.driver;
|
||||||
DRIVERS.WJET = Object.assign({}, DRIVERS.LASER, { name: 'WaterJet' });
|
const { LASER } = DRIVERS;
|
||||||
|
const { TYPE } = LASER;
|
||||||
|
DRIVERS.WJET = Object.assign({}, LASER, { name: 'WaterJet', type: TYPE.WJET });
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -932,7 +932,7 @@ th, tr, td, label {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 100%;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
.widopt button.disabled {
|
.widopt button.disabled {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue