Merge branch 'rel-4.1' of https://github.com/GridSpace/grid-apps into improved-drill-op

This commit is contained in:
bakedpotatolord 2025-04-29 10:43:31 -06:00
commit 166077ba71
12 changed files with 194 additions and 5 deletions

View file

@ -432,7 +432,7 @@ self.kiri.load(api => {
$('bbl_bed_target').value = bed_target_temper?.toFixed(1) ?? '';
$('bbl_bed_on').checked = bed_target_temper > 0;
$('bbl_pause').disabled = (gcode_state !== 'RUNNING');
$('bbl_resume').disabled = (gcode_state !== 'PAUSE' || gcode_state === 'FAILED' || print_error);
$('bbl_resume').disabled = (gcode_state !== 'PAUSE' || gcode_state === 'FAILED');// || print_error);
$('bbl_stop').disabled = gcode_file ? false : true;
$('bbl_file_print').disabled = gcode_file ? true : false;
$('bbl_fan_part').value = cooling_fan_speed || 0;
@ -484,13 +484,14 @@ self.kiri.load(api => {
}), undefined, 2);
$('bbl_accel').selectedIndex = (spd_lvl ?? 2) - 1;
if (print_error) {
bbl_status.value = `${state} | print error ${print_error}`
try {
let errkey = parseInt(print_error).toString(16).padStart(8,0);
let errmsg = bblapi.errors[errkey];
console.log('BAMBU |', errmsg);
console.log('BAMBU |', errkey, errmsg);
bbl_status.value = `${state} | ${errmsg || print_error}`;
} catch (e) {
console.log({ bambu_parse_error: e });
bbl_status.value = `${state} | print error | ${print_error}`;
}
} else if (mc_remaining_time && gcode_state !== 'FAILED') {
bbl_status.value = `layer ${layer_num} of ${total_layer_num} | ${mc_percent}% complete | ${mc_remaining_time} minutes left | ${state}`

View file

@ -0,0 +1,32 @@
{
"file-ext": "nc",
"token-space": " ",
"strip-comments": false,
"pre":[
"G20 ; set units to inches (required)",
"G90 ; absolute position mode (required)"
],
"post":[
"M05 ; spindle off",
"M30 ; program end"
],
"tool-change":[
"M05 ; spindle off",
"M6 T{tool} ; change tool to '{tool_name}'",
"G37; get tool offset with ETS"
],
"spindle": [
"M3 S{speed} ; spindle on at {spindle} rpm"
],
"dwell":[
"G4 P{time} ; dwell for {time}ms"
],
"settings": {
"origin_center":false,
"bed_width": 678.18,
"bed_depth": 1524,
"build_height":150,
"spindle_max": 24000
},
"deviceName": "Tormach 24R with ETS"
}

View file

@ -0,0 +1,35 @@
{
"file-ext": "gcode",
"token-space": " ",
"pre":[
"G90 ; absolute positioning",
"G21 ; metric units",
"M106 P0 S255 ; fan on",
"M3 P{power} S255 ; set default laser power",
"M5 ; laser off",
"G0 F3000 ; default feed rates",
"G1 F800 ; default feed rates"
],
"post":[
"M5 ; laser off",
"M107 P0 ; fan off",
"G91 ; relative positioning",
"G0 Z0 F150 ; raise laser",
"G90 ; absolute positioning"
],
"laser-on":[
"M3 P{power}"
],
"laser-off":[
"M5"
],
"settings": {
"origin_center": false,
"bed_width": 230,
"bed_depth": 235
},
"profiles":[{
"processName": "Snapmaker Laser",
"ctOriginCenter": false
}]
}

View file

@ -0,0 +1,35 @@
{
"file-ext": "gcode",
"token-space": " ",
"pre":[
"G90 ; absolute positioning",
"G21 ; metric units",
"M106 P0 S255 ; fan on",
"M3 P{power} S255 ; set default laser power",
"M5 ; laser off",
"G0 F3000 ; default feed rates",
"G1 F800 ; default feed rates"
],
"post":[
"M5 ; laser off",
"M107 P0 ; fan off",
"G91 ; relative positioning",
"G0 Z0 F150 ; raise laser",
"G90 ; absolute positioning"
],
"laser-on":[
"M3 P{power}"
],
"laser-off":[
"M5"
],
"settings": {
"origin_center": false,
"bed_width": 320,
"bed_depth": 335
},
"profiles":[{
"processName": "Snapmaker Laser",
"ctOriginCenter": false
}]
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 600,
"bed_depth": 308
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 432,
"bed_depth": 406
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 115,
"bed_depth": 115
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 220,
"bed_depth": 220
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 385,
"bed_depth": 300
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 680,
"bed_depth": 360
}
}

View file

@ -0,0 +1,12 @@
{
"file-ext": "svg",
"token-space": " ",
"pre":[],
"post":[],
"laser-on":[],
"laser-off":[],
"settings": {
"bed_width": 608,
"bed_depth": 385
}
}

View file

@ -60,6 +60,7 @@ class Widget {
this.slices = null;
this.settings = null; // used??
this.modified = true;
this.boundingBoxNeedsUpdate = true
this.track = {
// box size for packer
box: {
@ -229,6 +230,7 @@ class Widget {
setModified() {
this.modified = true;
this.boundingBoxNeedsUpdate = true;
if (this.mesh && this.mesh.geometry) {
// this fixes ray intersections after the mesh is modified
this.mesh.geometry.boundingSphere = null;
@ -695,9 +697,9 @@ class Widget {
}
getBoundingBox(refresh) {
if (!this.bounds || refresh || this.modified) {
if (!this.bounds || refresh || this.boundingBoxNeedsUpdate) {
this.bounds = new THREE.Box3().setFromArray(this.getGeoVertices());
// this.modified = false;
this.boundingBoxNeedsUpdate = false;
}
return this.bounds;
}