restore 'omit thru' to roughing

This commit is contained in:
Stewart Allen 2025-07-31 23:59:13 -04:00
commit f4486ab781
3 changed files with 4 additions and 0 deletions

View file

@ -441,6 +441,7 @@ export const conf = {
camRoughTop: true, camRoughTop: true,
camRoughIn: true, camRoughIn: true,
camRoughOn: true, camRoughOn: true,
camRoughOmitThru: false,
camRoughOmitVoid: false, camRoughOmitVoid: false,
camOutlineTool: 1000, camOutlineTool: 1000,
camOutlineSpindle: 1000, camOutlineSpindle: 1000,

View file

@ -227,6 +227,7 @@ export function createPopOps() {
voids: 'camRoughVoid', voids: 'camRoughVoid',
flats: 'camRoughFlat', flats: 'camRoughFlat',
inside: 'camRoughIn', inside: 'camRoughIn',
omitthru: 'camRoughOmitThru',
ov_topz: 0, ov_topz: 0,
ov_botz: 0, ov_botz: 0,
ov_conv: '~camConventional', ov_conv: '~camConventional',
@ -246,6 +247,7 @@ export function createPopOps() {
voids: UC.newBoolean(LANG.cr_clrp_s, undefined, { title: LANG.cr_clrp_l }), voids: UC.newBoolean(LANG.cr_clrp_s, undefined, { title: LANG.cr_clrp_l }),
flats: UC.newBoolean(LANG.cr_clrf_s, undefined, { title: LANG.cr_clrf_l }), flats: UC.newBoolean(LANG.cr_clrf_s, undefined, { title: LANG.cr_clrf_l }),
inside: UC.newBoolean(LANG.cr_olin_s, undefined, { title: LANG.cr_olin_l }), inside: UC.newBoolean(LANG.cr_olin_s, undefined, { title: LANG.cr_olin_l }),
omitthru: UC.newBoolean(LANG.co_omit_s, undefined, { title: LANG.co_omit_l }),
sep: UC.newBlank({ class: "pop-sep" }), sep: UC.newBlank({ class: "pop-sep" }),
exp: UC.newExpand("overrides"), exp: UC.newExpand("overrides"),
ov_topz: UC.newInput(LANG.ou_ztop_s, { title: LANG.ou_ztop_l, convert: UC.toFloat, units: true }), ov_topz: UC.newInput(LANG.ou_ztop_s, { title: LANG.ou_ztop_l, convert: UC.toFloat, units: true }),

View file

@ -144,6 +144,7 @@ class OpRough extends CamOp {
// inset or eliminate thru holes from shadow // inset or eliminate thru holes from shadow
shadow = POLY.flatten(shadow.clone(true), [], true); shadow = POLY.flatten(shadow.clone(true), [], true);
if (!op.omitthru)
thruHoles.forEach(hole => { thruHoles.forEach(hole => {
shadow = shadow.map(p => { shadow = shadow.map(p => {
if (p.isEquivalent(hole)) { if (p.isEquivalent(hole)) {