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
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"deviceName": "IMADE3D JellyBOX 1 NO.4",
|
"deviceName": "IMADE3D JellyBOX 1 N0.4",
|
||||||
"bedWidth": 177,
|
"bedWidth": 177,
|
||||||
"bedDepth": 155,
|
"bedDepth": 155,
|
||||||
"maxHeight": 140,
|
"maxHeight": 140,
|
||||||
|
|
@ -32,8 +32,6 @@
|
||||||
"G21 ;metric values",
|
"G21 ;metric values",
|
||||||
"G90 ;absolute positioning",
|
"G90 ;absolute positioning",
|
||||||
"M107 ;start with the fan off",
|
"M107 ;start with the fan off",
|
||||||
"M190 S45 ;wait for the bed to reach 45C (for bed leveling)",
|
|
||||||
"M109 S180 ;wait for the extruder to reach 180C (for bed leveling)",
|
|
||||||
";",
|
";",
|
||||||
"; === Homing and bed leveling (if necessary)",
|
"; === Homing and bed leveling (if necessary)",
|
||||||
";",
|
";",
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,6 @@
|
||||||
"G21 ;metric values",
|
"G21 ;metric values",
|
||||||
"G90 ;absolute positioning",
|
"G90 ;absolute positioning",
|
||||||
"M107 ;start with the fan off",
|
"M107 ;start with the fan off",
|
||||||
"M190 S45 ;wait for the bed to reach 45C (for bed leveling)",
|
|
||||||
"M109 S180 ;wait for the extruder to reach 180C (for bed leveling)",
|
|
||||||
";",
|
";",
|
||||||
"; === Homing and bed leveling (if necessary)",
|
"; === Homing and bed leveling (if necessary)",
|
||||||
";",
|
";",
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,6 @@
|
||||||
"G21 ;metric values",
|
"G21 ;metric values",
|
||||||
"G90 ;absolute positioning",
|
"G90 ;absolute positioning",
|
||||||
"M107 ;start with the fan off",
|
"M107 ;start with the fan off",
|
||||||
"M190 S45 ;wait for the bed to reach 45C (for bed leveling)",
|
|
||||||
"M109 S180 ;wait for the extruder to reach 180C (for bed leveling)",
|
|
||||||
";",
|
";",
|
||||||
"; === Homing and bed leveling (if necessary)",
|
"; === Homing and bed leveling (if necessary)",
|
||||||
";",
|
";",
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,6 @@
|
||||||
"G21 ;metric values",
|
"G21 ;metric values",
|
||||||
"G90 ;absolute positioning",
|
"G90 ;absolute positioning",
|
||||||
"M107 ;start with the fan off",
|
"M107 ;start with the fan off",
|
||||||
"M190 S45 ;wait for the bed to reach 45C (for bed leveling)",
|
|
||||||
"M109 S180 ;wait for the extruder to reach 180C (for bed leveling)",
|
|
||||||
";",
|
";",
|
||||||
"; === Homing and bed leveling (if necessary)",
|
"; === Homing and bed leveling (if necessary)",
|
||||||
";",
|
";",
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,6 @@
|
||||||
"G21 ;metric values",
|
"G21 ;metric values",
|
||||||
"G90 ;absolute positioning",
|
"G90 ;absolute positioning",
|
||||||
"M107 ;start with the fan off",
|
"M107 ;start with the fan off",
|
||||||
"M190 S45 ;wait for the bed to reach 45C (for bed leveling)",
|
|
||||||
"M109 S180 ;wait for the extruder to reach 180C (for bed leveling)",
|
|
||||||
";",
|
";",
|
||||||
"; === Homing and bed leveling (if necessary)",
|
"; === Homing and bed leveling (if necessary)",
|
||||||
";",
|
";",
|
||||||
|
|
|
||||||
|
|
@ -1421,11 +1421,15 @@ class OpPocket extends CamOp {
|
||||||
|
|
||||||
prepare(ops, progress) {
|
prepare(ops, progress) {
|
||||||
let { op, state, sliceOut } = this;
|
let { op, state, sliceOut } = this;
|
||||||
let { setTool, setSpindle } = ops;
|
let { setTool, setSpindle, setTolerance } = ops;
|
||||||
|
|
||||||
setTool(op.tool, op.rate);
|
setTool(op.tool, op.rate);
|
||||||
setSpindle(op.spindle);
|
setSpindle(op.spindle);
|
||||||
|
|
||||||
|
if (this.topo) {
|
||||||
|
setTolerance(this.topo.tolerance);
|
||||||
|
}
|
||||||
|
|
||||||
let i=0, l=sliceOut.length;
|
let i=0, l=sliceOut.length;
|
||||||
for (let slice of sliceOut.filter(s => s.camLines)) {
|
for (let slice of sliceOut.filter(s => s.camLines)) {
|
||||||
ops.emitTrace(slice);
|
ops.emitTrace(slice);
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
||||||
layerOut = [],
|
layerOut = [],
|
||||||
printPoint,
|
printPoint,
|
||||||
isNewMode,
|
isNewMode,
|
||||||
|
isContour,
|
||||||
isRough,
|
isRough,
|
||||||
isLathe,
|
isLathe,
|
||||||
tool,
|
tool,
|
||||||
|
|
@ -151,6 +152,10 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
||||||
// non-zero means contouring
|
// non-zero means contouring
|
||||||
function setTolerance(dist) {
|
function setTolerance(dist) {
|
||||||
tolerance = dist;
|
tolerance = dist;
|
||||||
|
if (isContour) {
|
||||||
|
// avoid moves to safe Z when contouring short steps
|
||||||
|
toolDiamMove = currentOp.step * toolDiam * 1.5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPrintPoint(point) {
|
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
|
// for longer moves, check the terrain to see if we need to go up and over
|
||||||
const bigXY = (deltaXY > moveLen && !lasering);
|
const bigXY = (deltaXY > moveLen && !lasering);
|
||||||
const bigZ = (deltaZ > toolDiam/2 && deltaXY > tolerance);
|
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) {
|
if (bigXY || bigZ || midZ) {
|
||||||
let maxz = getZClearPath(
|
let maxz = getZClearPath(
|
||||||
|
|
@ -476,6 +481,7 @@ function prepEach(widget, settings, print, firstPoint, update) {
|
||||||
currentOp = op.op;
|
currentOp = op.op;
|
||||||
isLathe = currentOp.type === 'lathe';
|
isLathe = currentOp.type === 'lathe';
|
||||||
isRough = currentOp.type === 'rough';
|
isRough = currentOp.type === 'rough';
|
||||||
|
isContour = currentOp.type === 'contour' || (currentOp.type === 'pocket' && currentOp.contour);
|
||||||
let weight = op.weight();
|
let weight = op.weight();
|
||||||
newLayer(op.op);
|
newLayer(op.op);
|
||||||
op.prepare(ops, (progress, message) => {
|
op.prepare(ops, (progress, message) => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue