add cam level option to clear entire stock

This commit is contained in:
Stewart Allen 2024-08-28 11:34:30 -04:00
commit fd7e5a1f0e
4 changed files with 11 additions and 4 deletions

View file

@ -1287,7 +1287,8 @@ CAM.init = function(kiri, api) {
step: 'camLevelOver',
rate: 'camLevelSpeed',
down: 'camLevelDown',
over: 'camLevelOver'
over: 'camLevelOver',
stock: 'camLevelStock'
}).inputs = {
tool: UC.newSelect(LANG.cc_tool, {}, "tools"),
sep: UC.newBlank({class:"pop-sep"}),
@ -1296,6 +1297,8 @@ CAM.init = function(kiri, api) {
rate: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, units:true}),
down: UC.newInput(LANG.cc_loff_s, {title:LANG.cc_loff_l, convert:UC.toFloat, units:true}),
over: UC.newInput(LANG.cc_lxyo_s, {title:LANG.cc_lxyo_l, convert:UC.toFloat, units:true}),
sep: UC.newBlank({class:"pop-sep"}),
stock: UC.newBoolean(LANG.cc_lsto_s, undefined, {title:LANG.cc_lsto_l}),
};
createPopOp('rough', {

View file

@ -124,9 +124,10 @@ class OpLevel extends CamOp {
updateToolDiams(toolDiam);
let points = [];
let clear = POLY.outer(POLY.offset(tshadow, toolDiam * (op.over || 0)));
// let tabsub = [];
// POLY.subtract(clear, POLY.offset(tabs.map(t => t.poly), toolDiam/2), tabsub, []);
let clear = op.stock ?
[ newPolygon().centerRectangle({x:0,y:0,z:0}, stock.x, stock.y) ] :
POLY.outer(POLY.offset(tshadow, toolDiam * (op.over || 0)));
POLY.fillArea(clear, 90, stepOver, points);
let lines = this.lines = [];

View file

@ -465,6 +465,7 @@ const conf = exports({
camLevelSpeed: 1000,
camLevelDown: 0,
camLevelOver: 0.5,
camLevelStock: true,
camRoughTool: 1000,
camRoughSpindle: 1000,
camRoughDown: 2,

View file

@ -493,6 +493,8 @@ self.kiri.lang['en-us'] = {
cc_loff_l: ["distance from stock face","in workspace units"],
cc_lxyo_s: "xy offset",
cc_lxyo_l: ["xy offset from part boundary as a fraction of the tool diameter (0 - 1.0)"],
cc_lsto_s: "stock",
cc_lsto_l: ["use stock area instead of part area"],
// CNC ROUGHING
cr_menu: "rough",