From e25a21c4df7e228b5510a334139d6c9581678800 Mon Sep 17 00:00:00 2001 From: bakedpotatolord Date: Thu, 15 May 2025 11:38:27 -0600 Subject: [PATCH] add laser demo --- web/kiri/engine.html | 75 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/web/kiri/engine.html b/web/kiri/engine.html index c9e78787..16aa8d43 100644 --- a/web/kiri/engine.html +++ b/web/kiri/engine.html @@ -102,6 +102,7 @@ let FDMExample = loadExample(demoFDM) } function display_message(msg) { + console.log({msg}) $('gfoot').innerText = msg ? Object.keys(msg).join(' - ') : ''; } function display_gcode(gcode) { @@ -251,13 +252,80 @@ } function demoLASER(){ - + kiri.newEngine() + .setListener(display_message) + .load("/obj/cube.stl") + // should to call widget.setTopZ here ideally + .then(eng => eng.setMode("LASER")) + .then(eng => eng.setStock({ + "x": 25, + "y": 25, + "z": 24.999998092651367, + "center": { + "x": 0, + "y": 0, + "z": 12.499999046325684 + } + })) + .then(eng => eng.setProcess({ + "processName": "default", + "ctSliceKerf": 0.1, + "ctSliceHeight": 0.5, + "ctSliceHeightMin": 0, + "ctSliceSingle": false, + "ctOutTileSpacing": 1, + "ctOutPower": 100, + "ctOutSpeed": 1000, + "ctOutGroup": true, + "ctOutZColor": false, + "ctOutLayer": false, + "ctOutMark": false, + "ctOutStack": false, + "ctOutMerged": false, + "ctOriginCenter": false, + "ctOriginBounds": false, + "outputInvertX": false, + "outputInvertY": false, + "ctOutKnifeDepth": 1, + "ctOutKnifePasses": 1, + "ctOutKnifeTip": 2, + "ctOutInches": false, + "ctOutShaper": false + })) + .then(eng => eng.setDevice({ + "mode": "LASER", + "internal": 0, + "bedHeight": 2.5, + "bedWidth": 600, + "bedDepth": 308, + "maxHeight": 150, + "gcodePre": [], + "gcodePost": [], + "gcodeFExt": "svg", + "gcodeSpace": true, + "gcodeLaserOn": [], + "gcodeLaserOff": [], + "new": false, + "deviceName": "Xtool.P2", + "imageURL": "", + "laserMaxPower": 255, + "bedBelt": false, + "bedRound": false, + "originCenter": false, + "fwRetract": false + })) + .then(eng => eng.slice()) + .then(eng => eng.prepare()) + .then(eng => eng.export()) + .then(display_gcode); } + function download() { let blob = new Blob([saveit], {type: "octet/stream"}); let url = window.URL.createObjectURL(blob); - $('download').innerHTML = ``; + let filename = window.prompt("Enter filename", "sample.gcode"); + $('download').innerHTML = ``; $('xo').click(); } @@ -271,7 +339,7 @@
-
gcode output
+
Output
@@ -282,6 +350,7 @@
+