add vertical wall clearing option for op-area like outline
This commit is contained in:
parent
0bdadd7294
commit
84bf821c6d
4 changed files with 6 additions and 1 deletions
|
|
@ -449,6 +449,7 @@ export const conf = {
|
||||||
camAreaDogbones: false,
|
camAreaDogbones: false,
|
||||||
camAreaRevbones: false,
|
camAreaRevbones: false,
|
||||||
camAreaOutline: false,
|
camAreaOutline: false,
|
||||||
|
camAreaWalls: false,
|
||||||
camAreaZigZag: true,
|
camAreaZigZag: true,
|
||||||
camContourAngle: 85,
|
camContourAngle: 85,
|
||||||
camContourBottom: false,
|
camContourBottom: false,
|
||||||
|
|
|
||||||
|
|
@ -705,6 +705,7 @@ export function createPopOps() {
|
||||||
rate: 'camAreaSpeed',
|
rate: 'camAreaSpeed',
|
||||||
plunge: 'camAreaPlunge',
|
plunge: 'camAreaPlunge',
|
||||||
expand: 'camAreaExpand',
|
expand: 'camAreaExpand',
|
||||||
|
walls: 'camAreaWalls',
|
||||||
smooth: 'camAreaSmooth',
|
smooth: 'camAreaSmooth',
|
||||||
follow: 'camAreaFollow',
|
follow: 'camAreaFollow',
|
||||||
refine: 'camAreaRefine',
|
refine: 'camAreaRefine',
|
||||||
|
|
@ -730,6 +731,7 @@ export function createPopOps() {
|
||||||
exp_end: UC.endExpand(),
|
exp_end: UC.endExpand(),
|
||||||
sep: UC.newBlank({ class: "pop-sep" }),
|
sep: UC.newBlank({ class: "pop-sep" }),
|
||||||
exp: UC.newExpand("area modifiers", { }),
|
exp: UC.newExpand("area modifiers", { }),
|
||||||
|
walls: UC.newBoolean(LANG.ca_wall_s, undefined, { title: LANG.ca_wall_l }),
|
||||||
expand: UC.newInput(LANG.cp_xpnd_s, { title: LANG.cp_xpnd_l, convert: toFloat, units }),
|
expand: UC.newInput(LANG.cp_xpnd_s, { title: LANG.cp_xpnd_l, convert: toFloat, units }),
|
||||||
smooth: UC.newInput(LANG.cp_smoo_s, { title: LANG.cp_smoo_l, convert: toInt, xshow: isSurface }),
|
smooth: UC.newInput(LANG.cp_smoo_s, { title: LANG.cp_smoo_l, convert: toInt, xshow: isSurface }),
|
||||||
follow: UC.newInput(LANG.cp_foll_s, { title: LANG.cp_foll_l, convert: toFloat }),
|
follow: UC.newInput(LANG.cp_foll_s, { title: LANG.cp_foll_l, convert: toFloat }),
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ class OpArea extends CamOp {
|
||||||
let firstOff = -(toolDiam / 2 + (op.leave_xy ?? 0));
|
let firstOff = -(toolDiam / 2 + (op.leave_xy ?? 0));
|
||||||
POLY.subtract([ area ], shadow, clip, undefined, undefined, 0);
|
POLY.subtract([ area ], shadow, clip, undefined, undefined, 0);
|
||||||
POLY.offset(clip, [ firstOff, -toolOver ], {
|
POLY.offset(clip, [ firstOff, -toolOver ], {
|
||||||
count: op.steps ?? 999, outs, flat: true, z: z - zMov, ...offopt
|
count: op.walls ? 1 : (op.steps ?? 999), outs, flat: true, z: z - zMov, ...offopt
|
||||||
});
|
});
|
||||||
// if we see no offsets, re-check the mesh bottom Z then exit
|
// if we see no offsets, re-check the mesh bottom Z then exit
|
||||||
if (outs.length === 0) {
|
if (outs.length === 0) {
|
||||||
|
|
|
||||||
|
|
@ -725,6 +725,8 @@ self.lang['en-us'] = {
|
||||||
ca_altr_l: "alternate direction of travel lines (zigzag)",
|
ca_altr_l: "alternate direction of travel lines (zigzag)",
|
||||||
ca_sang_s: "step angle",
|
ca_sang_s: "step angle",
|
||||||
ca_sang_l: "crossing angle on the XY plane for contour lines",
|
ca_sang_l: "crossing angle on the XY plane for contour lines",
|
||||||
|
ca_wall_s: "walls",
|
||||||
|
ca_wall_l: ["perform a single pass along vertical faces. leave interior spaces. similar to outline operation"],
|
||||||
|
|
||||||
// OUTPUT
|
// OUTPUT
|
||||||
ou_menu: "output",
|
ou_menu: "output",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue