stub in new device types: WaterJet, WireEDM

This commit is contained in:
Stewart Allen 2024-06-09 14:03:16 -07:00
commit 1d50d42b46
14 changed files with 197 additions and 14 deletions

View file

@ -0,0 +1,21 @@
{
"file-ext": "gcode",
"token-space": " ",
"pre":[
"G21 ; set units to MM (required)",
"G90 ; absolute position mode (required)"
],
"post":[
"M30 ; program end"
],
"laser-on":[
"M106 S{power}"
],
"laser-off":[
"M107"
],
"settings": {
"bed_width": 300,
"bed_depth": 300
}
}

View file

@ -0,0 +1,21 @@
{
"file-ext": "gcode",
"token-space": " ",
"pre":[
"G21 ; set units to MM (required)",
"G90 ; absolute position mode (required)"
],
"post":[
"M30 ; program end"
],
"laser-on":[
"M106 S{power}"
],
"laser-off":[
"M107"
],
"settings": {
"bed_width": 300,
"bed_depth": 300
}
}

View file

@ -0,0 +1,21 @@
{
"file-ext": "gcode",
"token-space": " ",
"pre":[
"G21 ; set units to MM (required)",
"G90 ; absolute position mode (required)"
],
"post":[
"M30 ; program end"
],
"laser-on":[
"M106 S{power}"
],
"laser-off":[
"M107"
],
"settings": {
"bed_width": 300,
"bed_depth": 300
}
}

View file

@ -2,12 +2,7 @@
"use strict";
// dep: geo.polygons
// dep: geo.point
// dep: kiri.slice
// dep: kiri-mode.laser.driver
// use: kiri.pack
// use: kiri.render
gapp.register("kiri-mode.drag.driver", [], (root, exports) => {
root.kiri.driver.DRAG = root.kiri.driver.LASER;

View file

@ -0,0 +1,11 @@
/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
"use strict";
// dep: kiri-mode.laser.driver
gapp.register("kiri-mode.wedm.driver", [], (root, exports) => {
root.kiri.driver.WEDM = root.kiri.driver.LASER;
});

View file

@ -0,0 +1,11 @@
/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
"use strict";
// dep: kiri-mode.laser.driver
gapp.register("kiri-mode.wjet.driver", [], (root, exports) => {
root.kiri.driver.WJET = root.kiri.driver.LASER;
});

View file

@ -28,6 +28,8 @@
// use: kiri-mode.fdm.export
// use: kiri-mode.laser.driver
// use: kiri-mode.drag.driver
// use: kiri-mode.wjet.driver
// use: kiri-mode.wedm.driver
gapp.register("kiri-run.worker", [], (root, exports) => {
const { base, kiri, moto } = root;

View file

@ -649,6 +649,46 @@ const conf = exports({
},
drag: {
// device defaults Drag:Device
d:{
new: true,
mode: "",
deviceName: "",
imageURL: "",
internal: 0,
bedWidth: 300,
bedDepth: 200,
bedHeight: 2.5,
maxHeight: 100,
gcodePre: [],
gcodePost: [],
gcodeFExt: "",
gcodeSpace: true,
},
// process defaults Drag:Process
p:{
processName: "default",
laserOffset: 0.1,
laserSliceHeight: 1,
laserSliceHeightMin: 0,
laserSliceSingle: true,
outputTileSpacing: 1,
outputLaserPower: 100,
outputLaserSpeed: 1000,
outputLaserGroup: true,
outputLaserZColor: false,
outputLaserLayer: false,
outputLaserStack: false,
outputLaserMerged: false,
outputOriginCenter: true,
outputInvertX: false,
outputInvertY: false,
outputKnifeDepth: 1,
outputKnifePasses: 1,
outputKnifeTip: 2
},
},
wjet: {
// device defaults WaterJet:Device
d:{
new: true,
mode: "",
@ -666,7 +706,49 @@ const conf = exports({
gcodeLaserOn: ["M106 S{power}"],
gcodeLaserOff: ["M107"]
},
// process defaults Drag:Process
// process defaults WaterJet:Process
p:{
processName: "default",
laserOffset: 0.1,
laserSliceHeight: 1,
laserSliceHeightMin: 0,
laserSliceSingle: true,
outputTileSpacing: 1,
outputLaserPower: 100,
outputLaserSpeed: 1000,
outputLaserGroup: true,
outputLaserZColor: false,
outputLaserLayer: false,
outputLaserStack: false,
outputLaserMerged: false,
outputOriginCenter: true,
outputInvertX: false,
outputInvertY: false,
outputKnifeDepth: 1,
outputKnifePasses: 1,
outputKnifeTip: 2
},
},
wedm: {
// device defaults WireEDM:Device
d:{
new: true,
mode: "",
deviceName: "",
imageURL: "",
internal: 0,
bedWidth: 300,
bedDepth: 200,
bedHeight: 2.5,
maxHeight: 100,
gcodePre: [],
gcodePost: [],
gcodeFExt: "",
gcodeSpace: true,
gcodeLaserOn: ["M106 S{power}"],
gcodeLaserOff: ["M107"]
},
// process defaults WireEDM:Process
p:{
processName: "default",
laserOffset: 0.1,
@ -772,24 +854,30 @@ const conf = exports({
FDM: "default",
SLA: "default",
CAM: "default",
LASER: "default",
DRAG: "default",
WJET: "default",
WEDM: "default",
LASER: "default",
},
// stored processes by mode
sproc:{
FDM: {},
SLA: {},
CAM: {},
LASER: {},
DRAG: {},
WJET: {},
WEDM: {},
LASER: {},
},
// current device name by mode
filter:{
FDM: "Any.Generic.Marlin",
SLA: "Anycubic.Photon",
CAM: "Any.Generic.Grbl",
DRAG: "Any.Generic.DragKnife",
WJET: "HydroBLADE",
WEDM: "Any.Generic.WireEDM",
LASER: "Any.Generic.Laser",
DRAG: "Any.Generic.Laser",
},
// stored device by mode
cdev: {
@ -863,9 +951,15 @@ settings.sproc.FDM.default = clone(settings.process);
settings.sproc.SLA.default = clone(settings.process);
settings.sproc.CAM.default = clone(settings.process);
settings.sproc.LASER.default = clone(settings.process);
settings.sproc.DRAG.default = clone(settings.process);
settings.sproc.WJET.default = clone(settings.process);
settings.sproc.WEDM.default = clone(settings.process);
settings.cdev.FDM = clone(settings.device);
settings.cdev.SLA = clone(settings.device);
settings.cdev.CAM = clone(settings.device);
settings.cdev.LASER = clone(settings.device);
settings.cdev.DRAG = clone(settings.device);
settings.cdev.WJET = clone(settings.device);
settings.cdev.WEDM = clone(settings.device);
});

View file

@ -29,6 +29,8 @@ function exportFile(options) {
.map(v => v.split('.')[0]);
api.event.emit('export', mode);
switch (mode) {
case 'WEDM':
case 'WJET':
case 'DRAG':
case 'LASER': return callExportLaser(options, names);
case 'FDM': return callExport(options, mode, names);

View file

@ -11,6 +11,8 @@
// dep: kiri-mode.sla.client
// dep: kiri-mode.laser.driver
// dep: kiri-mode.drag.driver
// dep: kiri-mode.wjet.driver
// dep: kiri-mode.wedm.driver
gapp.register("kiri.function", [], (root, exports) => {
const { kiri } = root;

View file

@ -2643,6 +2643,8 @@ gapp.register("kiri.init", [], (root, exports) => {
$('mode-sla').onclick = () => api.mode.set('SLA');
$('mode-laser').onclick = () => api.mode.set('LASER');
$('mode-drag').onclick = () => api.mode.set('DRAG');
$('mode-wjet').onclick = () => api.mode.set('WJET');
$('mode-wedm').onclick = () => api.mode.set('WEDM');
$('set-device').onclick = (ev) => { ev.stopPropagation(); showDevices() };
$('set-profs').onclick = (ev) => { ev.stopPropagation(); api.conf.show() };
$('set-tools').onclick = (ev) => { ev.stopPropagation(); showTools() };

View file

@ -906,7 +906,7 @@ gapp.register("kiri.main", [], (root, exports) => {
// gcode edit area for any non-SLA mode
api.uc.setVisible($('gcode-edit'), mode !== 'SLA');
// highlight selected mode menu item
["FDM","CAM","SLA","LASER","DRAG"].forEach(sm => {
["FDM","CAM","SLA","LASER","DRAG","WJET","WEDM"].forEach(sm => {
const cl = $(`mode-${sm.toLowerCase()}`).classList;
if (sm === mode) {
cl.add('selected');