diff --git a/js/kiri-driver-laser.js b/js/kiri-driver-laser.js index 112a88fe..5cfa6c63 100644 --- a/js/kiri-driver-laser.js +++ b/js/kiri-driver-laser.js @@ -59,12 +59,21 @@ var gs_kiri_laser = exports; } } + var breakout = true; + var object = []; + slice.tops.forEach(function(top) { - var object = []; laserOut(top.traces, object); laserOut(top.innerTraces(), object); - objects.push(object); + if (breakout) { + objects.push(object); + objects = []; + } }); + + if (!breakout) { + objects.push(object); + } }; /** diff --git a/js/kiri.js b/js/kiri.js index 77421315..edfcb496 100644 --- a/js/kiri.js +++ b/js/kiri.js @@ -2280,7 +2280,7 @@ self.kiri.license = exports.LICENSE; WIN.addEventListener("resize", onWindowResize); SPACE.showSkyGrid(false); - SPACE.setSkyColor(0xf8f8f8); + SPACE.setSkyColor(0xffffff); SPACE.init(container, function (delta) { if (showLayerMax === 0) return; if (settings.controller.reverseZoom) delta = -delta; @@ -2521,7 +2521,8 @@ self.kiri.license = exports.LICENSE; firstLayerBedTemp: UC.newInput("bed temp", {title:"degrees celsius\nused when non-zero", convert:UC.toInt, modes:FDM}), laserOffset: UC.newInput("cut offset", {title:"millimeters\nadjust for beam width", convert:UC.toFloat, modes:LASER}), - laserSliceHeight: UC.newInput("layer height", {title:"millimeters\n0 = auto/detect", convert:UC.toFloat, modes:LASER}), + laserSliceHeight: UC.newInput("height", {title:"millimeters\n0 = auto/detect", convert:UC.toFloat, modes:LASER}), + laserSliceSingle: UC.newBoolean("single", onBooleanClick, {title:"perform one slice\nat specified height", modes:LASER}), roughing: UC.newGroup("roughing", null, {modes:CAM}), roughingTool: UC.newSelectField("tool", {modes:CAM}), @@ -2569,6 +2570,7 @@ self.kiri.license = exports.LICENSE; outputTileScaling: UC.newInput("scaling", {title:"multiplier (0.1 to 100)", convert:UC.toInt, bound:UC.bound(0.1,100), modes:LASER}), outputLaserPower: UC.newInput("power", {title:"0 - 100 %", convert:UC.toInt, bound:UC.bound(1,100), modes:LASER}), outputLaserSpeed: UC.newInput("speed", {title:"millimeters / minute", convert:UC.toInt, modes:LASER}), + outputLaserGroup: UC.newBoolean("group", onBooleanClick, {title:"retain layer as\nsingle grouped object", modes:LASER}), outputTemp: UC.newInput("nozzle temp", {title:"degrees celsius", convert:UC.toInt, modes:FDM}), outputBedTemp: UC.newInput("bed temp", {title:"degrees celsius", convert:UC.toInt, modes:FDM}), diff --git a/notes.md b/notes.md index 312fce1d..49c3be97 100644 --- a/notes.md +++ b/notes.md @@ -15,6 +15,7 @@ # FDM todo +* adaptive column to compensate for fine or layers that finish too quickly and melt * store/recover grid:print target against printer selected in device * expand internal supporting flats * first layer support speed should be same as shell speed