add polygons helpers to get inner and outer only
This commit is contained in:
parent
fa545e9f6d
commit
9d120f5c83
2 changed files with 20 additions and 1 deletions
|
|
@ -40,6 +40,8 @@ const POLYS = base.polygons = {
|
||||||
route,
|
route,
|
||||||
union,
|
union,
|
||||||
inset,
|
inset,
|
||||||
|
outer,
|
||||||
|
inner,
|
||||||
nest,
|
nest,
|
||||||
diff,
|
diff,
|
||||||
setZ,
|
setZ,
|
||||||
|
|
@ -53,6 +55,23 @@ const POLYS = base.polygons = {
|
||||||
fingerprint
|
fingerprint
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function outer(polys) {
|
||||||
|
for (let p of polys) {
|
||||||
|
p.inner = undefined;
|
||||||
|
}
|
||||||
|
return polys;
|
||||||
|
}
|
||||||
|
|
||||||
|
function inner(polys) {
|
||||||
|
const ret = [];
|
||||||
|
for (let p of polys) {
|
||||||
|
if (p.inner) {
|
||||||
|
ret.push(p.inner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
function length(polys) {
|
function length(polys) {
|
||||||
let length = 0;
|
let length = 0;
|
||||||
for (let p of polys) {
|
for (let p of polys) {
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ class OpLevel extends CamOp {
|
||||||
updateToolDiams(toolDiam);
|
updateToolDiams(toolDiam);
|
||||||
|
|
||||||
let points = [];
|
let points = [];
|
||||||
let clear = POLY.offset(tshadow, toolDiam * (op.over || 0));
|
let clear = POLY.outer(POLY.offset(tshadow, toolDiam * (op.over || 0)));
|
||||||
// let tabsub = [];
|
// let tabsub = [];
|
||||||
// POLY.subtract(clear, POLY.offset(tabs.map(t => t.poly), toolDiam/2), tabsub, []);
|
// POLY.subtract(clear, POLY.offset(tabs.map(t => t.poly), toolDiam/2), tabsub, []);
|
||||||
POLY.fillArea(clear, 90, stepOver, points);
|
POLY.fillArea(clear, 90, stepOver, points);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue