Merge branch 'master' of github.com:GridSpace/grid-apps
This commit is contained in:
commit
bc7541a8dc
3 changed files with 9 additions and 3 deletions
1
notes.md
1
notes.md
|
|
@ -60,6 +60,7 @@
|
||||||
* `B` outside cutting direction in roughing mode inverted
|
* `B` outside cutting direction in roughing mode inverted
|
||||||
* `B` clear voids has double interior pass because wrong offset shadow used
|
* `B` clear voids has double interior pass because wrong offset shadow used
|
||||||
* `B` top clearing operations should use linear, not offset, passes
|
* `B` top clearing operations should use linear, not offset, passes
|
||||||
|
* `F` use 3 registration holes to prevent rotation accidents (midline offset one axis)
|
||||||
* `F` parameterize dropping close points in prep.js. ensure long segments remain straight
|
* `F` parameterize dropping close points in prep.js. ensure long segments remain straight
|
||||||
* `F` flat and volumetric rendering of paths
|
* `F` flat and volumetric rendering of paths
|
||||||
* `F` z bounded slices (extension of z bottom offset feature)
|
* `F` z bounded slices (extension of z bottom offset feature)
|
||||||
|
|
|
||||||
|
|
@ -688,8 +688,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// undo temp del/used marks
|
||||||
for (let i=0; i<stack.length; i++) stack[i].del = false;
|
for (let i=0; i<stack.length; i++) stack[i].del = false;
|
||||||
// stack.forEach(function(p) { p.del = false });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// emit a polygon if it can be cleaned and still have 2 or more points
|
// emit a polygon if it can be cleaned and still have 2 or more points
|
||||||
|
|
|
||||||
|
|
@ -388,6 +388,11 @@
|
||||||
last = top_poly.clone(true);
|
last = top_poly.clone(true);
|
||||||
top.shells = last;
|
top.shells = last;
|
||||||
} else {
|
} else {
|
||||||
|
// heal top open polygons if the ends are close (benchy tilt test)
|
||||||
|
top_poly.forEach(p => { if (p.open) {
|
||||||
|
let dist = p.first().distTo2D(p.last());
|
||||||
|
if (dist < 1) p.open = false;
|
||||||
|
} });
|
||||||
if (opt.thin) {
|
if (opt.thin) {
|
||||||
top.thin_fill = [];
|
top.thin_fill = [];
|
||||||
let oso = {z, count, gaps: [], outs: [], minArea: 0.05};
|
let oso = {z, count, gaps: [], outs: [], minArea: 0.05};
|
||||||
|
|
@ -913,7 +918,7 @@
|
||||||
|
|
||||||
// return top.supports = supports;
|
// return top.supports = supports;
|
||||||
// then union supports
|
// then union supports
|
||||||
supports = POLY.union(supports);
|
supports = POLY.union(supports, null, true);
|
||||||
|
|
||||||
// constrain support poly to top polys
|
// constrain support poly to top polys
|
||||||
supports = POLY.trimTo(supports, trimTo);
|
supports = POLY.trimTo(supports, trimTo);
|
||||||
|
|
@ -963,7 +968,7 @@
|
||||||
if (!supports) return;
|
if (!supports) return;
|
||||||
|
|
||||||
// union supports
|
// union supports
|
||||||
supports = POLY.union(supports);
|
supports = POLY.union(supports, undefined, true);
|
||||||
|
|
||||||
// trim to clip offsets
|
// trim to clip offsets
|
||||||
if (slice.offsets) POLY.subtract(supports, slice.offsets, nsB, null, slice.z, min);
|
if (slice.offsets) POLY.subtract(supports, slice.offsets, nsB, null, slice.z, min);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue