From b0682e79df9b92b1afeef0a1ca555e5e4e286ebd Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 13 Jan 2023 15:01:05 -0500 Subject: [PATCH 1/4] update tool init language --- web/kiri/lang/en.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/kiri/lang/en.js b/web/kiri/lang/en.js index b890ca69..7e854563 100644 --- a/web/kiri/lang/en.js +++ b/web/kiri/lang/en.js @@ -677,7 +677,7 @@ self.kiri.lang['en-us'] = { ou_depf_s: "depth first", ou_depf_l: ["optimize pocket cuts","with depth priority"], ou_toin_s: "tool init", - ou_toin_l: "emit tool change with first operation", + ou_toin_l: "add tool change with first operation. when disabled, the gcode assumes the first tool is loaded and offset probed", ou_forz_s: "force z max", ou_forz_l: "all moves between pockets will go to z max (above stock). this is usually required if you are not performing a roughing operation before pocketing operations.", ou_z1st_s: "first z max", From e22b0aee18dd8497dba0a939b47fe25dfdcbf958 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 13 Jan 2023 22:42:21 -0500 Subject: [PATCH 2/4] fix nested and tiny polys in tracing --- notes.md | 1 + src/kiri-mode/cam/ops.js | 4 ++-- src/kiri/print.js | 6 +++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/notes.md b/notes.md index 4c7f9c32..b442cc0d 100644 --- a/notes.md +++ b/notes.md @@ -102,6 +102,7 @@ * `F` ease-in and ease-out especially on tab cut-out start/stop * `F` maintain several part orientations + op chains in a single profile +* `P` improve parser - do not require spaced tokens and support implied G0 / G1 * `P` inner corner arc moves * `P` log Z interpolation for contour XYZ moves * `P` option to start with the smallest poly by area on layer change diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index 9f2b60ac..49c22f22 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -955,14 +955,14 @@ class OpTrace extends CamOp { poly2polyEmit(polys, newPoint(0,0,0), (poly, index, count, spoint) => { routed.push(poly); }); - for (let poly of routed) { + for (let poly of POLY.nest(routed)) { let offdist = 0; switch (offset) { case "outside": offdist = toolDiam / 2; break; case "inside": offdist = -toolDiam / 2; break; } if (offdist) { - let pnew = POLY.offset([poly], offdist); + let pnew = POLY.offset([poly], offdist, { minArea: 0 }); if (pnew) { poly = POLY.setZ(pnew, poly.getZ()); } else { diff --git a/src/kiri/print.js b/src/kiri/print.js index 0c49236c..9bb1da7e 100644 --- a/src/kiri/print.js +++ b/src/kiri/print.js @@ -475,7 +475,10 @@ class Print { newlayer = true; autolayer = false; } - line = line.split(";")[0].split(" ").filter(v => v); + // if (["X","Y","Z"].indexOf(line.charAt(0)) >= 0) { + // line = `G0${line}`; + // } + line = line.trim().split(";")[0].split(" ").filter(v => v); let cmd = line.shift(); if (!cmd) return; if (cmd.charAt(0) === 'T') { @@ -486,6 +489,7 @@ class Print { xoff.Y = -ext[pos].extOffsetY; } } + pos.E = 0.0; switch (cmd) { case 'M82': From 65c3a8efdd28d13a1d2ad21f9bf8ab30ebe53a3d Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 13 Jan 2023 22:47:00 -0500 Subject: [PATCH 3/4] bump rev 3.8.D10 --- package.json | 2 +- src/main/kiri.js | 2 +- src/moto/license.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index cad51233..be134470 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "grid-apps", - "version": "3.8.9D", + "version": "3.8.10D", "description": "grid.space 3d slice & modeling tools", "author": "Stewart Allen ", "license": "MIT", diff --git a/src/main/kiri.js b/src/main/kiri.js index 5cbce0b9..a6dc6878 100644 --- a/src/main/kiri.js +++ b/src/main/kiri.js @@ -15,7 +15,7 @@ gapp.main("main.kiri", [], (root) => { const modfns = root.kirimod = ( root.kirimod || [] ); const kiri = root.kiri = { - beta: 3809, + beta: 3810, driver: {}, // driver modules load(fn) { modfns.push(fn); diff --git a/src/moto/license.js b/src/moto/license.js index a4fc30a6..0afcec8b 100644 --- a/src/moto/license.js +++ b/src/moto/license.js @@ -5,7 +5,7 @@ let terms = { COPYRIGHT: "Copyright (C) Stewart Allen - All Rights Reserved", LICENSE: "See the license.md file included with the source distribution", - VERSION: (is_self ? self : this).debug_version || "3.8.D9" + VERSION: (is_self ? self : this).debug_version || "3.8.D10" }; if (typeof(module) === 'object') { From 656102c35ec94e9178c55c7be9c39659a3a82a91 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 14 Jan 2023 10:57:32 -0500 Subject: [PATCH 4/4] fix multi-widget load grouping, reload same file with import --- src/kiri/init.js | 1 + src/kiri/platform.js | 4 +++- src/kiri/widget.js | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kiri/init.js b/src/kiri/init.js index 8e178355..497ad094 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -2180,6 +2180,7 @@ gapp.register("kiri.init", [], (root, exports) => { ui.load.onchange = function(event) { api.platform.load_files(event.target.files); + ui.load.value = ''; // reset so you can re-import the same filee }; ui.sliderMin.onclick = () => { diff --git a/src/kiri/platform.js b/src/kiri/platform.js index 7068fbac..7860e7e1 100644 --- a/src/kiri/platform.js +++ b/src/kiri/platform.js @@ -725,7 +725,9 @@ function platformLoadFiles(files, group) { reader.file = files[i]; reader.onloadend = function(e) { function load_dec() { - if (--loaded === 0) platform.group_done(isgcode); + if (--loaded === 0) { + platform.group_done(isgcode); + } } if (israw) { platform.add( diff --git a/src/kiri/widget.js b/src/kiri/widget.js index 196c6e31..287d680b 100644 --- a/src/kiri/widget.js +++ b/src/kiri/widget.js @@ -80,7 +80,8 @@ class Widget { z: 0 }, top: 0, // z top - mirror: false + mirror: false, + indexed: false }, // used to cache shadow geo this.cache = {};