make bottom clear configurable

This commit is contained in:
bakedpotatolord 2025-07-13 20:26:32 -06:00
commit edf0a8ceb8
5 changed files with 24 additions and 20 deletions

View file

@ -59,6 +59,7 @@
"camHelicalDownSpeed": 250,
"camHelicalSpeed": 1000,
"camHelicalDown": 5,
"camHelicalBottomFinish":true,
"camHelicalThru": 0,
"camHelicalOffset": "auto",
"camHelicalForceStartAngle": false,

View file

@ -522,6 +522,7 @@ export const conf = {
camHelicalDownSpeed: 250,
camHelicalSpeed: 1000,
camHelicalDown: 5,
camHelicalBottomFinish: true,
camHelicalThru: 0,
camHelicalOffset: "auto",
camHelicalForceStartAngle: false,

View file

@ -525,15 +525,16 @@ export function createPopOps() {
createPopOp('helical', {
tool: 'camHelicalTool',
offset: 'camHelicalOffset',
spindle: 'camHelicalSpindle',
rate: 'camHelicalDownSpeed',
feed: 'camHelicalSpeed',
down: 'camHelicalDown',
thru: 'camHelicalThru',
offset: 'camHelicalOffset',
forceStartAng:'camHelicalForceStartAngle',
finish: 'camHelicalBottomFinish',
startAng:'camHelicalStartAngle',
offOver: 'camHelicalOffsetOverride',
thru: 'camHelicalThru',
forceStartAng:'camHelicalForceStartAngle',
fromTop: 'camHelicalFromStockTop',
}).inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
@ -546,7 +547,8 @@ export function createPopOps() {
startAng: UC.newInput(LANG.ch_stra_s, {title:LANG.ch_stra_l, convert:UC.toDegsFloat, bound:UC.bound(-360,360),show:() => env.poppedRec.forceStartAng}),
offOver: UC.newInput(LANG.cc_offd_s, {title:LANG.cc_offd_l, convert:UC.toFloat, units:true, bound:UC.bound(0,Infinity)}),
sep: UC.newBlank({class:"pop-sep"}),
forceStartAng: UC.newBoolean(LANG.ch_fsta_s, undefined, {title:LANG.ch_fsta_l, }),
finish: UC.newBoolean(LANG.ch_fini_s,undefined, { title:LANG.ch_fini_l }),
forceStartAng: UC.newBoolean(LANG.ch_fsta_s, undefined, {title:LANG.ch_fsta_l }),
fromTop: UC.newBoolean(LANG.cd_ftop_s,undefined, {title:LANG.cd_ftop_l}),
sep: UC.newBlank({class:"pop-sep"}),
thru: UC.newInput(LANG.cd_thru_s, {title:LANG.cd_thru_l, convert:UC.toFloat, units:true}),

View file

@ -24,6 +24,7 @@ export class OpHelical extends CamOp {
offset,
down,
thru,
finish,
} = op;
let {stock} = settings
@ -139,22 +140,19 @@ export class OpHelical extends CamOp {
})
);
// poly.addPoints([
// newPoint(0,0,0)
// ])
//do a full circle at the bottom
poly.addPoints(
arcToPath(finalEnd, finalEnd, numSegs, {
clockwise,
radius,
center,
}),
);
poly.append(
finalEnd.clone().setZ(zBottom),
)
//if settings dictate, do a full circle at the bottom
if(finish){
poly.addPoints(
arcToPath(finalEnd, finalEnd, numSegs, {
clockwise,
radius,
center,
}),
);
poly.append(
finalEnd.clone().setZ(zBottom),
)
}
break;
}
currentZ = bottom;

View file

@ -617,6 +617,8 @@ self.lang['en-us'] = {
ch_stra_s: "start angle",
ch_stra_l: ["start angle of helix","in degrees ccw of +x axis"],
ch_selc_l: ["select a cylinder face", "inner holes that are too small","will be ignored."],
ch_fini_s: "bottom finish pass",
ch_fini_l: ["trace a circle at bottom of helix","used for hole clearing"],
// CNC FLIP