move step over from outline to contour. fix topo y axis overstep
This commit is contained in:
parent
1d2cdc9a15
commit
343868edb6
3 changed files with 12 additions and 11 deletions
|
|
@ -206,7 +206,7 @@
|
|||
finishingTool: "camOutlineTool",
|
||||
finishingSpindle: "camOutlineSpindle",
|
||||
finishingDown: "camOutlineDown",
|
||||
finishingOver: "camOutlineOver",
|
||||
finishingOver: "camContourOver",
|
||||
finishingSpeed: "camOutlineSpeed",
|
||||
finishingPlunge: "camOutlinePlunge",
|
||||
finishingOn: "camOutlineOn",
|
||||
|
|
@ -396,8 +396,6 @@
|
|||
// process defaults CAM:Process
|
||||
p:{
|
||||
processName: "default",
|
||||
camFastFeed: 6000,
|
||||
camFastFeedZ: 300,
|
||||
camRoughTool: 1000, // roughingTool
|
||||
camRoughSpindle: 1000, // camRoughSpindle
|
||||
camRoughDown: 2, // roughingDown
|
||||
|
|
@ -410,19 +408,20 @@
|
|||
camOutlineTool: 1000, // finishingTool
|
||||
camOutlineSpindle: 1000,// finishingSpindle
|
||||
camOutlineDown: 3, // finishingDown
|
||||
camOutlineOver: 0.5, // finishingOver
|
||||
camOutlineSpeed: 800, // finishingSpeed
|
||||
camOutlinePlunge: 250, // finishingPlunge
|
||||
camOutlineOn: true, // finishingOn
|
||||
camContourTool: 1000,
|
||||
camContourSpindle: 1000,// (new)
|
||||
camContourOver: 0.5, // (new)
|
||||
camContourSpeed: 1000, // (new)
|
||||
camContourAngle: 85, // finishingAngle
|
||||
camContourCurves: false,// finishCurvesOnly
|
||||
camContourXOn: true, // finishingXOn
|
||||
camContourYOn: true, // finishingYOn
|
||||
camTraceTool: 1000,
|
||||
camTraceEnable: false,
|
||||
camTraceSpeed: 250,
|
||||
camTraceOn: false,
|
||||
camDrillTool: 1000, // drillTool
|
||||
camDrillSpindle: 1000, // drillSpindle
|
||||
camDrillDownSpeed: 250, // drillDownSpeed
|
||||
|
|
@ -440,10 +439,12 @@
|
|||
camDepthFirst: true,
|
||||
camEaseDown: false,
|
||||
camOriginTop: true,
|
||||
camTolerance: 0.15,
|
||||
camZTopOffset: 0,
|
||||
camZBottom: 0,
|
||||
camZClearance: 1,
|
||||
camFastFeed: 6000,
|
||||
camFastFeedZ: 300,
|
||||
camTolerance: 0.15,
|
||||
camStockX: 0,
|
||||
camStockY: 0,
|
||||
camStockZ: 0,
|
||||
|
|
|
|||
|
|
@ -1373,7 +1373,6 @@
|
|||
camOutline: UC.newGroup(LANG.co_menu, null, {modes:CAM, marker:true}),
|
||||
camOutlineTool: UC.newSelect(LANG.cc_tool, {modes:CAM}),
|
||||
camOutlineSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM, visible:spindleShow}),
|
||||
camOutlineOver: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}),
|
||||
camOutlineDown: UC.newInput(LANG.cc_sdwn_s, {title:LANG.cc_sdwn_l, convert:UC.toFloat, modes:CAM}),
|
||||
camOutlineSpeed: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, modes:CAM}),
|
||||
camOutlinePlunge: UC.newInput(LANG.cc_plng_s, {title:LANG.cc_plng_l, convert:UC.toInt, modes:CAM}),
|
||||
|
|
@ -1383,6 +1382,7 @@
|
|||
camContour: UC.newGroup(LANG.cn_menu, null, {modes:CAM, marker:true}),
|
||||
camContourTool: UC.newSelect(LANG.cc_tool, {modes:CAM}),
|
||||
camContourSpindle: UC.newInput(LANG.cc_spnd_s, {title:LANG.cc_spnd_l, convert:UC.toInt, modes:CAM, visible:spindleShow}),
|
||||
camContourOver: UC.newInput(LANG.cc_sovr_s, {title:LANG.cc_sovr_l, convert:UC.toFloat, bound:UC.bound(0.05,1.0), modes:CAM}),
|
||||
camContourSpeed: UC.newInput(LANG.cc_feed_s, {title:LANG.cc_feed_l, convert:UC.toInt, modes:CAM}),
|
||||
camContourAngle: UC.newInput(LANG.cf_angl_s, {title:LANG.cf_angl_l, convert:UC.toFloat, bound:UC.bound(45,90), modes:CAM}),
|
||||
camContourCurves: UC.newBoolean(LANG.cf_curv_s, onBooleanClick, {title:LANG.cf_curv_l, modes:CAM}),
|
||||
|
|
|
|||
|
|
@ -192,14 +192,14 @@
|
|||
function getMaxTopoToolZ(topo, profile, x, y, floormax) {
|
||||
let tv, tx, ty, tz, gv, i = 0, mz = -1;
|
||||
|
||||
const sx = topo.stepsx, sy = topo.stepsy;
|
||||
const sx = topo.stepsx, sy = topo.stepsy, xl = sx - 1, yl = sy - 1;
|
||||
|
||||
while (i < profile.length) {
|
||||
// tool profile point x, y, and z offsets
|
||||
let tx = profile[i++] + x;
|
||||
let ty = profile[i++] + y;
|
||||
let tz = profile[i++];
|
||||
if (tx < 0 || tx >= sx || ty < 0 || ty >= sy) {
|
||||
if (tx < 0 || tx > xl || ty < 0 || ty > yl) {
|
||||
// if outside max topo steps, use 0
|
||||
gv = 0;
|
||||
} else {
|
||||
|
|
@ -390,7 +390,7 @@
|
|||
resolution = outp.camTolerance * units,
|
||||
diameter = getToolDiameter(settings, proc.camOutlineTool),
|
||||
tool = getToolById(settings, proc.camOutlineTool),
|
||||
toolStep = diameter * proc.camOutlineOver,
|
||||
toolStep = diameter * proc.camContourOver,
|
||||
traceJoin = diameter / 2,
|
||||
pocketOnly = proc.camOutlinePocket,
|
||||
bounds = widget.getBoundingBox().clone(),
|
||||
|
|
@ -477,7 +477,7 @@
|
|||
lines = slice.lines;
|
||||
gridy = 0;
|
||||
// slices have x/z swapped
|
||||
for (y = minY; y <= maxY; y += resolution) {
|
||||
for (y = minY; y < maxY && gridy < stepsy; y += resolution) {
|
||||
gridi = gridx * stepsy + gridy;
|
||||
gridv = data[gridi] || 0;
|
||||
// strategy using raw lines (faster slice, but more lines)
|
||||
|
|
|
|||
Loading…
Reference in a new issue