diff --git a/src/settings/default.yml b/src/settings/default.yml index 40532b8..6c9e8b8 100644 --- a/src/settings/default.yml +++ b/src/settings/default.yml @@ -1,3 +1,4 @@ +zOffset: 0.3 dimensions: x: 200 y: 200 diff --git a/src/sliceActions/calculateLayersIntersections.js b/src/sliceActions/calculateLayersIntersections.js index 78c2f21..7a1bc2e 100644 --- a/src/sliceActions/calculateLayersIntersections.js +++ b/src/sliceActions/calculateLayersIntersections.js @@ -2,11 +2,12 @@ import * as THREE from 'three'; export default function calculateLayersIntersections(lines, settings) { const { + dimensions: { z: dimensionsZ }, layerHeight, - dimensions: { z: dimensionsZ } + zOffset } = settings; - const numLayers = Math.floor(dimensionsZ / layerHeight); + const numLayers = Math.floor((dimensionsZ - zOffset) / layerHeight); const layerIntersectionIndexes = Array.from(Array(numLayers)).map(() => []); const layerIntersectionPoints = Array.from(Array(numLayers)).map(() => []); @@ -24,7 +25,7 @@ export default function calculateLayersIntersections(lines, settings) { layerIntersectionIndexes[layerIndex].push(lineIndex); - const y = layerIndex * layerHeight; + const y = layerIndex * layerHeight + zOffset; let x, z; if (line.start.y === line.end.y) { diff --git a/src/sliceActions/slicesToGCode.js b/src/sliceActions/slicesToGCode.js index 4c3b9bb..790385d 100644 --- a/src/sliceActions/slicesToGCode.js +++ b/src/sliceActions/slicesToGCode.js @@ -12,7 +12,8 @@ export default function slicesToGCode(slices, settings) { travelSpeed, retraction, travel, - combing + combing, + zOffset } = settings; const filamentSurfaceArea = Math.pow((filamentThickness / 2), 2) * Math.PI; @@ -29,7 +30,7 @@ export default function slicesToGCode(slices, settings) { let isFirstLayer = true; for (let layer = 0; layer < slices.length; layer ++) { const slice = slices[layer]; - const z = layer * layerHeight; + const z = layer * layerHeight + zOffset; if (layer === 1) { gcode.turnFanOn();