fix: exception for short moves in contouring for safe Z
fix: jellybox device name
This commit is contained in:
parent
09eeb4edc0
commit
232ac76b98
7 changed files with 13 additions and 13 deletions
|
|
@ -1421,11 +1421,15 @@ class OpPocket extends CamOp {
|
|||
|
||||
prepare(ops, progress) {
|
||||
let { op, state, sliceOut } = this;
|
||||
let { setTool, setSpindle } = ops;
|
||||
let { setTool, setSpindle, setTolerance } = ops;
|
||||
|
||||
setTool(op.tool, op.rate);
|
||||
setSpindle(op.spindle);
|
||||
|
||||
if (this.topo) {
|
||||
setTolerance(this.topo.tolerance);
|
||||
}
|
||||
|
||||
let i=0, l=sliceOut.length;
|
||||
for (let slice of sliceOut.filter(s => s.camLines)) {
|
||||
ops.emitTrace(slice);
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
|||
layerOut = [],
|
||||
printPoint,
|
||||
isNewMode,
|
||||
isContour,
|
||||
isRough,
|
||||
isLathe,
|
||||
tool,
|
||||
|
|
@ -151,6 +152,10 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
|||
// non-zero means contouring
|
||||
function setTolerance(dist) {
|
||||
tolerance = dist;
|
||||
if (isContour) {
|
||||
// avoid moves to safe Z when contouring short steps
|
||||
toolDiamMove = currentOp.step * toolDiam * 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
function setPrintPoint(point) {
|
||||
|
|
@ -362,7 +367,7 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
|||
// for longer moves, check the terrain to see if we need to go up and over
|
||||
const bigXY = (deltaXY > moveLen && !lasering);
|
||||
const bigZ = (deltaZ > toolDiam/2 && deltaXY > tolerance);
|
||||
const midZ = (tolerance && absDeltaZ >= tolerance) && currentOp.type !== 'contour';
|
||||
const midZ = (tolerance && absDeltaZ >= tolerance) && !isContour;
|
||||
|
||||
if (bigXY || bigZ || midZ) {
|
||||
let maxz = getZClearPath(
|
||||
|
|
@ -476,6 +481,7 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
|||
currentOp = op.op;
|
||||
isLathe = currentOp.type === 'lathe';
|
||||
isRough = currentOp.type === 'rough';
|
||||
isContour = currentOp.type === 'contour' || (currentOp.type === 'pocket' && currentOp.contour);
|
||||
let weight = op.weight();
|
||||
newLayer(op.op);
|
||||
op.prepare(ops, (progress, message) => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue