start cleaning up laser / 2d in preparation for new 2d device types

This commit is contained in:
Stewart Allen 2024-06-08 13:23:37 -07:00
commit 6495905a7d
7 changed files with 109 additions and 28 deletions

View file

@ -1 +0,0 @@
Any.Generic.Grbl

View file

@ -0,0 +1,22 @@
{
"file-ext": "nc",
"token-space": " ",
"strip-comments": true,
"pre":[
"G21 ; set units to MM (required)",
"G90 ; absolute position mode (required)"
],
"post":[
"M30 ; program end"
],
"tool-change":[
"M6 T{tool} ; change tool to '{tool_name}'"
],
"dwell":[
"G4 P{time} ; dwell for {time}ms"
],
"settings": {
"bed_width": 400,
"bed_depth": 400
}
}

View file

@ -0,0 +1,48 @@
{
"pre":[
"M104 S{temp} T{tool} ; set extruder temperature",
"M140 S{bed_temp} T{tool} ; set bed temperature",
"G90 ; set absolute positioning mode",
"M83 ; set relative positioning for extruder",
"M107 ; turn off filament cooling fan",
"G28 ; home axes",
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
"G1 X0 Y0 Z0.25 F180 ; move xy to 0,0 and z 0.25mm over bed",
"G92 E0 ; zero the extruded",
"M190 S{bed_temp} T{tool} ; wait for bed to reach target temp",
"M109 S{temp} T{tool} ; wait for extruder to reach target temp",
"G1 E15 F200 ; purge 15mm from extruder",
"G92 E0 ; zero the extruded",
"G1 F225 ; set feed speed"
],
"post":[
"M107 ; turn off filament cooling fan",
"M104 S0 T{tool} ; turn off right extruder",
"M140 S0 T{tool} ; turn off bed",
"G1 Z{z_max} F1200 ; drop bed",
"G28 X0 Y0 ; home XY axes",
"M84 ; disable stepper motors"
],
"extruders":[
{
"nozzle": 0.4,
"filament": 1.75,
"offset_x": 0,
"offset_y": 0,
"select": [ "T0" ]
},{
"nozzle": 0.4,
"filament": 1.75,
"offset_x": 30,
"offset_y": 0,
"select": [ "T1" ]
}
],
"cmd":{
"fan_power": "M106 S{fan_speed}"
},
"settings":{
"origin_center": false,
"extrude_abs": false
}
}

View file

@ -1 +0,0 @@
Any.Generic.Marlin

View file

@ -627,10 +627,10 @@ const conf = exports({
// process defaults Laser:Process // process defaults Laser:Process
p:{ p:{
processName: "default", processName: "default",
laserOffset: 0.25, laserOffset: 0.1,
laserSliceHeight: 1, laserSliceHeight: 1,
laserSliceHeightMin: 0, laserSliceHeightMin: 0,
laserSliceSingle: false, laserSliceSingle: true,
outputTileSpacing: 1, outputTileSpacing: 1,
outputLaserPower: 100, outputLaserPower: 100,
outputLaserSpeed: 1000, outputLaserSpeed: 1000,

View file

@ -1943,19 +1943,19 @@ gapp.register("kiri.init", [], (root, exports) => {
laserMode: newGroup(LANG.sl_menu, $('lzr-slice'), { modes:LASER, driven, separator }), laserMode: newGroup(LANG.sl_menu, $('lzr-slice'), { modes:LASER, driven, separator }),
laserOffset: newInput(LANG.ls_offs_s, {title:LANG.ls_offs_l, convert:toFloat}), laserOffset: newInput(LANG.ls_offs_s, {title:LANG.ls_offs_l, convert:toFloat}),
laserSliceHeight: newInput(LANG.ls_lahi_s, {title:LANG.ls_lahi_l, convert:toFloat, trigger: true}), laserSliceHeight: newInput(LANG.ls_lahi_s, {title:LANG.ls_lahi_l, convert:toFloat, trigger: true}),
laserSliceHeightMin: newInput(LANG.ls_lahm_s, {title:LANG.ls_lahm_l, convert:toFloat, show:() => { return ui.laserSliceHeight.value == 0 }}), laserSliceHeightMin: newInput(LANG.ls_lahm_s, {title:LANG.ls_lahm_l, convert:toFloat, show:() => ui.laserSliceHeight.value == 0 && !ui.laserSliceSingle.checked }),
separator: newBlank({ class:"set-sep", driven }), separator: newBlank({ class:"set-sep", driven }),
laserSliceSingle: newBoolean(LANG.ls_sngl_s, onBooleanClick, {title:LANG.ls_sngl_l}), laserSliceSingle: newBoolean(LANG.ls_sngl_s, onBooleanClick, {title:LANG.ls_sngl_l}),
knife: newGroup(LANG.dk_menu, $('lzr-knife'), { modes:LASER, marker:true, driven, separator }),
outputKnifeDepth: newInput(LANG.dk_dpth_s, {title:LANG.dk_dpth_l, convert:toFloat, bound:bound(0.0,5.0), show:() => ui.knifeOn.checked }),
outputKnifePasses: newInput(LANG.dk_pass_s, {title:LANG.dk_pass_l, convert:toInt, bound:bound(0,5), show:() => ui.knifeOn.checked}),
outputKnifeTip: newInput(LANG.dk_offs_s, {title:LANG.dk_offs_l, convert:toFloat, bound:bound(0.0,10.0), show:() => ui.knifeOn.checked}),
separator: newBlank({ class:"set-sep", driven, show:() => ui.knifeOn.checked }),
knifeOn: newBoolean(LANG.enable, onBooleanClick, {title:LANG.ou_drkn_l}),
laserLayout: newGroup(LANG.lo_menu, $('lzr-layout'), { modes:LASER, driven, separator }), laserLayout: newGroup(LANG.lo_menu, $('lzr-layout'), { modes:LASER, driven, separator }),
outputTileSpacing: newInput(LANG.ou_spac_s, {title:LANG.ou_spac_l, convert:toInt}), outputTileSpacing: newInput(LANG.ou_spac_s, {title:LANG.ou_spac_l, convert:toInt}),
outputLaserMerged: newBoolean(LANG.ou_mrgd_s, onBooleanClick, {title:LANG.ou_mrgd_l}), outputLaserMerged: newBoolean(LANG.ou_mrgd_s, onBooleanClick, {title:LANG.ou_mrgd_l}),
outputLaserGroup: newBoolean(LANG.ou_grpd_s, onBooleanClick, {title:LANG.ou_grpd_l}), outputLaserGroup: newBoolean(LANG.ou_grpd_s, onBooleanClick, {title:LANG.ou_grpd_l}),
knife: newGroup(LANG.dk_menu, $('lzr-knife'), { modes:LASER, marker:true, driven, separator }),
outputKnifeDepth: newInput(LANG.dk_dpth_s, {title:LANG.dk_dpth_l, convert:toFloat, bound:bound(0.0,5.0)}),
outputKnifePasses: newInput(LANG.dk_pass_s, {title:LANG.dk_pass_l, convert:toInt, bound:bound(0,5)}),
outputKnifeTip: newInput(LANG.dk_offs_s, {title:LANG.dk_offs_l, convert:toFloat, bound:bound(0.0,10.0)}),
separator: newBlank({ class:"set-sep", driven }),
knifeOn: newBoolean(LANG.enable, onBooleanClick, {title:LANG.ou_drkn_l}),
laserOutput: newGroup(LANG.ou_menu, $('lzr-output'), { modes:LASER, driven, separator }), laserOutput: newGroup(LANG.ou_menu, $('lzr-output'), { modes:LASER, driven, separator }),
outputLaserPower: newInput(LANG.ou_powr_s, {title:LANG.ou_powr_l, convert:toInt, bound:bound(1,100)}), outputLaserPower: newInput(LANG.ou_powr_s, {title:LANG.ou_powr_l, convert:toInt, bound:bound(1,100)}),
outputLaserSpeed: newInput(LANG.ou_sped_s, {title:LANG.ou_sped_l, convert:toInt}), outputLaserSpeed: newInput(LANG.ou_sped_s, {title:LANG.ou_sped_l, convert:toInt}),

View file

@ -155,14 +155,27 @@
<label>CNC</label> <label>CNC</label>
<span><i class="fas fa-bore-hole"></i></span> <span><i class="fas fa-bore-hole"></i></span>
</div> </div>
<div id="mode-laser">
<label>Laser</label>
<span><i class="fas fa-bolt"></i></span>
</div>
<div id="mode-sla"> <div id="mode-sla">
<label>SLA</label> <label>SLA</label>
<span><i class="fas fa-cube"></i></span> <span><i class="fas fa-cube"></i></span>
</div> </div>
<hr>
<div id="mode-laser">
<label>Laser</label>
<span><i class="fas fa-bolt"></i></span>
</div>
<!-- <div id="mode-water">
<label>WaterJet</label>
<span><i class="fas fa-location-pin"></i></span>
</div>
<div id="mode-edm">
<label>WireEDM</label>
<span><i class="fas fa-ellipsis-vertical"></i></span>
</div>
<div id="mode-knife">
<label>DragKnife</label>
<span><i class="fas fa-caret-left"></i></span>
</div> -->
</div> </div>
</div> </div>
</span> </span>
@ -320,8 +333,8 @@
<div id="cam-expert" class="set2-group mode-cam"></div> <div id="cam-expert" class="set2-group mode-cam"></div>
<!-- LASER --> <!-- LASER -->
<div id="lzr-slice" class="set2-group mode-laser"></div> <div id="lzr-slice" class="set2-group mode-laser"></div>
<div id="lzr-layout" class="set2-group mode-laser"></div>
<div id="lzr-knife" class="set2-group mode-laser"></div> <div id="lzr-knife" class="set2-group mode-laser"></div>
<div id="lzr-layout" class="set2-group mode-laser"></div>
<div id="lzr-output" class="set2-group mode-laser"></div> <div id="lzr-output" class="set2-group mode-laser"></div>
<!-- SLA --> <!-- SLA -->
<div id="sla-slice" class="set2-group mode-sla"></div> <div id="sla-slice" class="set2-group mode-sla"></div>

View file

@ -441,16 +441,6 @@ self.kiri.lang['en-us'] = {
sp_auto_s: "automatic", sp_auto_s: "automatic",
sp_auto_l: ["enable generated supports","using at-slice-time geometry","supports will only appear","after slicing completes"], sp_auto_l: ["enable generated supports","using at-slice-time geometry","supports will only appear","after slicing completes"],
// LASER SLICING
ls_offs_s: "offset",
ls_offs_l: ["adjust for beam width","also known as kerf","in millimeters"],
ls_lahi_s: "height",
ls_lahi_l: ["layer height","in millimeters","0 = auto/detect"],
ls_lahm_s: "min",
ls_lahm_l: ["layer height minimum","will merge auto slices","under this thickness","in millimeters"],
ls_sngl_s: "single",
ls_sngl_l: ["perform only one slice","at specified layer height"],
// CNC COMMON terms // CNC COMMON terms
cc_tool: "tool", cc_tool: "tool",
cc_offs_s: "offset", cc_offs_s: "offset",
@ -599,7 +589,7 @@ self.kiri.lang['en-us'] = {
ci_face_s: "face", ci_face_s: "face",
ci_face_l: "select face to rotate facing up", ci_face_l: "select face to rotate facing up",
// CNC LASER // CNC LASER On/Off Operations (Carvera)
cl_powr_s: "power", cl_powr_s: "power",
cl_powr_l: "laser power from 0 to 1.0", cl_powr_l: "laser power from 0 to 1.0",
cl_adap_s: "adaptive", cl_adap_s: "adaptive",
@ -639,8 +629,18 @@ self.kiri.lang['en-us'] = {
// OUTPUT // OUTPUT
ou_menu: "output", ou_menu: "output",
// LASER SLICING
ls_offs_s: "offset / kerf",
ls_offs_l: ["adjust for beam width","also known as kerf","in millimeters"],
ls_lahi_s: "slice height",
ls_lahi_l: ["layer height","in millimeters","0 = auto/detect"],
ls_lahm_s: "slice minimum",
ls_lahm_l: ["layer height minimum","will merge auto slices","under this thickness","in millimeters"],
ls_sngl_s: "single slice",
ls_sngl_l: ["perform only one slice","at specified layer height"],
// LASER KNIFE // LASER KNIFE
dk_menu: "knife", dk_menu: "drag knife",
dk_dpth_s: "cut depth", dk_dpth_s: "cut depth",
dk_dpth_l: ["final cut depth","in millimeters"], dk_dpth_l: ["final cut depth","in millimeters"],
dk_pass_s: "cut passes", dk_pass_s: "cut passes",
@ -648,7 +648,7 @@ self.kiri.lang['en-us'] = {
dk_offs_s: "tip offset", dk_offs_s: "tip offset",
dk_offs_l: ["distance from blade tip","to center of tool","in millimeters"], dk_offs_l: ["distance from blade tip","to center of tool","in millimeters"],
// OUTPUT LASER // LASER OUTPUT
ou_spac_s: "spacing", ou_spac_s: "spacing",
ou_spac_l: ["distance between layer output","in millimeters"], ou_spac_l: ["distance between layer output","in millimeters"],
ou_scal_s: "scaling", ou_scal_s: "scaling",