diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 index da73728c..83d38e05 100644 --- a/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 +++ b/src/kiri-dev/fdm/IMADE3D.JellyBOX.1.N0.4 @@ -1,5 +1,5 @@ { - "deviceName": "IMADE3D JellyBOX 1 NO.4", + "deviceName": "IMADE3D JellyBOX 1 N0.4", "bedWidth": 177, "bedDepth": 155, "maxHeight": 140, @@ -32,8 +32,6 @@ "G21 ;metric values", "G90 ;absolute positioning", "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)", ";", diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 index 16853261..8ed4833e 100644 --- a/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 +++ b/src/kiri-dev/fdm/IMADE3D.JellyBOX.2.N0.4 @@ -32,8 +32,6 @@ "G21 ;metric values", "G90 ;absolute positioning", "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)", ";", diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 index b1bf9228..59ea6732 100644 --- a/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 +++ b/src/kiri-dev/fdm/IMADE3D.JellyBOX.3.N0.4 @@ -32,8 +32,6 @@ "G21 ;metric values", "G90 ;absolute positioning", "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)", ";", diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 index 71f91971..309adaf9 100644 --- a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 +++ b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.4 @@ -32,8 +32,6 @@ "G21 ;metric values", "G90 ;absolute positioning", "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)", ";", diff --git a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 index b1de2eed..754ca5b3 100644 --- a/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 +++ b/src/kiri-dev/fdm/IMADE3D.JellyBOX.4.N0.6 @@ -32,8 +32,6 @@ "G21 ;metric values", "G90 ;absolute positioning", "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)", ";", diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index 3765f962..e7c82256 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -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); diff --git a/src/kiri-mode/cam/prepare.js b/src/kiri-mode/cam/prepare.js index ea26a645..6682e9fd 100644 --- a/src/kiri-mode/cam/prepare.js +++ b/src/kiri-mode/cam/prepare.js @@ -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) => {