checkpoint cam-op-pop editing

This commit is contained in:
Stewart Allen 2020-12-23 15:10:49 -05:00
commit 64185e3a4f
5 changed files with 80 additions and 17 deletions

View file

@ -60,6 +60,7 @@
# CAM # CAM
* `B` z thru doesn't respect step down
* `B` failure to go *up* when moving between parts? * `B` failure to go *up* when moving between parts?
* `B` starting export during animation unleashes chaos * `B` starting export during animation unleashes chaos
* `B` climb vs conventional not fully consistent after refactor * `B` climb vs conventional not fully consistent after refactor

View file

@ -195,7 +195,15 @@
{ name: "top" }, { name: "top" },
{ name: "middle" }, { name: "middle" },
{ name: "bottom" } { name: "bottom" }
] ],
regaxis: [
{ name: "X" },
{ name: "Y" }
],
regpoints: [
{ name: "2" },
{ name: "3" }
],
}; };
const tweak = { const tweak = {

View file

@ -247,16 +247,16 @@
}); });
break; break;
case api.ui.drX2Add: case api.ui.drX2Add:
drill = { axis: "x", points: 2 }; drill = { axis: "X", points: 2 };
break; break;
case api.ui.drX3Add: case api.ui.drX3Add:
drill = { axis: "x", points: 3 }; drill = { axis: "X", points: 3 };
break; break;
case api.ui.drY2Add: case api.ui.drY2Add:
drill = { axis: "y", points: 2 }; drill = { axis: "Y", points: 2 };
break; break;
case api.ui.drY3Add: case api.ui.drY3Add:
drill = { axis: "y", points: 3 }; drill = { axis: "Y", points: 3 };
break; break;
} }
if (drill) { if (drill) {
@ -729,22 +729,72 @@
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}),
top: UC.newBoolean(LANG.cr_clrt_s, undefined, {title:LANG.cr_clrt_l}), top: UC.newBoolean(LANG.cr_clrt_s, undefined, {title:LANG.cr_clrt_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})
}; };
createPopOp('outline').inputs = { createPopOp('outline').inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"), tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
sep: UC.newBlank({class:"pop-sep"}), sep: UC.newBlank({class:"pop-sep"}),
spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}), spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}),
down: UC.newInput(LANG.cc_sdwn_s, {title:LANG.cc_sdwn_l, convert:UC.toFloat, units:true}), down: UC.newInput(LANG.cc_sdwn_s, {title:LANG.cc_sdwn_l, convert:UC.toFloat, units:true}),
step: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.01,1.0)}), step: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.01,1.0)}),
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}), rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
plunge: UC.newInput(LANG.cc_plng_s, {title:LANG.cc_plng_l, convert:UC.toInt, units:true}), plunge: UC.newInput(LANG.cc_plng_s, {title:LANG.cc_plng_l, convert:UC.toInt, units:true}),
sep: UC.newBlank({class:"pop-sep"}), sep: UC.newBlank({class:"pop-sep"}),
dogbones: UC.newBoolean(LANG.co_dogb_s, undefined, {title:LANG.co_dogb_l, show:(op) => { return !op.inputs.wide.checked }}), dogbones: UC.newBoolean(LANG.co_dogb_s, undefined, {title:LANG.co_dogb_l, show:(op) => { return !op.inputs.wide.checked }}),
inside: UC.newBoolean(LANG.co_olin_s, undefined, {title:LANG.co_olin_l, show:(op) => { return !op.inputs.outside.checked }}), inside: UC.newBoolean(LANG.co_olin_s, undefined, {title:LANG.co_olin_l, show:(op) => { return !op.inputs.outside.checked }}),
outside: UC.newBoolean(LANG.co_olot_s, undefined, {title:LANG.co_olot_l, show:(op) => { return !op.inputs.inside.checked }}), outside: UC.newBoolean(LANG.co_olot_s, undefined, {title:LANG.co_olot_l, show:(op) => { return !op.inputs.inside.checked }}),
wide: UC.newBoolean(LANG.co_wide_s, undefined, {title:LANG.co_wide_l, show:(op) => { return !op.inputs.inside.checked }}), wide: UC.newBoolean(LANG.co_wide_s, undefined, {title:LANG.co_wide_l, show:(op) => { return !op.inputs.inside.checked }})
};
createPopOp('contour x').inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
sep: UC.newBlank({class:"pop-sep"}),
spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}),
step: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.01,1.0)}),
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
angle: UC.newInput(LANG.cf_angl_s, {title:LANG.cf_angl_l, convert:UC.toFloat, bound:UC.bound(45,90)}),
tolerance: UC.newInput(LANG.ou_toll_s, {title:LANG.ou_toll_l, convert:UC.toFloat, bound:UC.bound(0,10.0), units:true}),
sep: UC.newBlank({class:"pop-sep"}),
curves: UC.newBoolean(LANG.cf_curv_s, undefined, {title:LANG.cf_curv_l}),
inside: UC.newBoolean(LANG.cf_olin_s, undefined, {title:LANG.cf_olin_l})
};
createPopOp('contour y').inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
sep: UC.newBlank({class:"pop-sep"}),
spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}),
step: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.01,1.0)}),
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
angle: UC.newInput(LANG.cf_angl_s, {title:LANG.cf_angl_l, convert:UC.toFloat, bound:UC.bound(45,90)}),
tolerance: UC.newInput(LANG.ou_toll_s, {title:LANG.ou_toll_l, convert:UC.toFloat, bound:UC.bound(0,10.0), units:true}),
sep: UC.newBlank({class:"pop-sep"}),
curves: UC.newBoolean(LANG.cf_curv_s, undefined, {title:LANG.cf_curv_l}),
inside: UC.newBoolean(LANG.cf_olin_s, undefined, {title:LANG.cf_olin_l})
};
createPopOp('trace').inputs = { };
createPopOp('drill').inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
sep: UC.newBlank({class:"pop-sep"}),
spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}),
down: UC.newInput(LANG.cc_sdwn_s, {title:LANG.cc_sdwn_l, convert:UC.toFloat, units:true}),
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
dwell: UC.newInput(LANG.cd_dwll_s, {title:LANG.cd_dwll_l, convert:UC.toFloat}),
lift: UC.newInput(LANG.cd_lift_s, {title:LANG.cd_lift_l, convert:UC.toFloat, units:true})
};
createPopOp('register').inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
axis: UC.newSelect(LANG.cd_axis, {}, "regaxis"),
points: UC.newSelect(LANG.cd_points, {}, "regpoints"),
sep: UC.newBlank({class:"pop-sep"}),
spindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, show:hasSpindle}),
down: UC.newInput(LANG.cc_sdwn_s, {title:LANG.cc_sdwn_l, convert:UC.toFloat, units:true}),
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
dwell: UC.newInput(LANG.cd_dwll_s, {title:LANG.cd_dwll_l, convert:UC.toFloat}),
lift: UC.newInput(LANG.cd_lift_s, {title:LANG.cd_lift_l, convert:UC.toFloat, units:true})
}; };
}; };

View file

@ -734,8 +734,9 @@
points = []; points = [];
switch (op.axis) { switch (op.axis) {
case "X":
case "x": case "x":
if (op.points === 3) { if (op.points == 3) {
points.push(newPoint(bounds.min.x - dx, my, 0)); points.push(newPoint(bounds.min.x - dx, my, 0));
points.push(newPoint(bounds.max.x + dx, my - o3, 0)); points.push(newPoint(bounds.max.x + dx, my - o3, 0));
points.push(newPoint(bounds.max.x + dx, my + o3, 0)); points.push(newPoint(bounds.max.x + dx, my + o3, 0));
@ -744,8 +745,9 @@
points.push(newPoint(bounds.max.x + dx, my, 0)); points.push(newPoint(bounds.max.x + dx, my, 0));
} }
break; break;
case "Y":
case "y": case "y":
if (op.points === 3) { if (op.points == 3) {
points.push(newPoint(mx, bounds.min.y - dy, 0)); points.push(newPoint(mx, bounds.min.y - dy, 0));
points.push(newPoint(mx - o3, bounds.max.y + dy, 0)); points.push(newPoint(mx - o3, bounds.max.y + dy, 0));
points.push(newPoint(mx + o3, bounds.max.y + dy, 0)); points.push(newPoint(mx + o3, bounds.max.y + dy, 0));

View file

@ -324,6 +324,8 @@ kiri.lang['en-us'] = {
// CNC DRILLING // CNC DRILLING
cd_menu: "drill", cd_menu: "drill",
cd_axis: "axis",
cd_points: "points",
cd_plpr_s: "plunge per", cd_plpr_s: "plunge per",
cd_plpr_l: "max plunge between\ndwell periods\nin workspace units\n0 to disable", cd_plpr_l: "max plunge between\ndwell periods\nin workspace units\n0 to disable",
cd_dwll_s: "dwell time", cd_dwll_s: "dwell time",