diff --git a/src/kiri.js b/src/kiri.js index 16475cd3..71bcd37d 100644 --- a/src/kiri.js +++ b/src/kiri.js @@ -6,7 +6,7 @@ if (!self.kiri) { self.kiri = { - beta: 3001, + beta: 3002, driver: {}, // driver modules loader: [] // module loading: array of functions }; diff --git a/src/kiri/conf.js b/src/kiri/conf.js index 5821cab6..11b89ca3 100644 --- a/src/kiri/conf.js +++ b/src/kiri/conf.js @@ -297,6 +297,7 @@ sliceShells: 3, sliceShellOrder: "in-out", sliceLayerStart: "last", + sliceLineWidth: 0, sliceFillAngle: 45, sliceFillWidth: 1, sliceFillOverlap: 0.35, diff --git a/src/kiri/init.js b/src/kiri/init.js index 4542cf00..ad1eef56 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -1650,6 +1650,8 @@ sliceMinHeight: UC.newInput(LANG.ad_minl_s, {title:LANG.ad_minl_l, bound:UC.bound(0,3.0), convert:UC.toFloat, modes:FDM, show: () => UI.sliceAdaptive.checked}), fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}), sliceShells: UC.newInput(LANG.sl_shel_s, {title:LANG.sl_shel_l, convert:UC.toFloat, modes:FDM}), + sliceLineWidth: UC.newInput(LANG.sl_line_s, {title:LANG.sl_line_l, convert:UC.toFloat, bound:UC.bound(0,5), modes:FDM}), + fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}), sliceTopLayers: UC.newInput(LANG.sl_ltop_s, {title:LANG.sl_ltop_l, convert:UC.toInt, modes:FDM}), sliceSolidLayers: UC.newInput(LANG.sl_lsld_s, {title:LANG.sl_lsld_l, convert:UC.toInt, modes:FDM}), sliceBottomLayers: UC.newInput(LANG.sl_lbot_s, {title:LANG.sl_lbot_l, convert:UC.toInt, modes:FDM}), diff --git a/src/mode/fdm/slice.js b/src/mode/fdm/slice.js index df14d835..b1272157 100644 --- a/src/mode/fdm/slice.js +++ b/src/mode/fdm/slice.js @@ -66,7 +66,6 @@ sdev = settings.device, isBelt = sdev.bedBelt, isSynth = widget.track.synth, - update_start = Date.now(), minSolid = spro.sliceSolidMinArea, solidLayers = spro.sliceSolidLayers, vaseMode = spro.sliceFillType === 'vase' && !isSynth, @@ -76,17 +75,14 @@ sliceHeight = spro.sliceHeight, firstSliceHeight = isBelt ? sliceHeight : spro.firstSliceHeight, nozzleSize = sdev.extruders[extruder].extNozzle, - lineWidth = nozzleSize, + lineWidth = spro.sliceLineWidth || nozzleSize, fillOffsetMult = 1.0 - bound(spro.sliceFillOverlap, 0, 0.8), - firstWidthMult = spro.firstLayerShellMult || 1, shellOffset = lineWidth, fillSpacing = lineWidth, fillOffset = lineWidth * fillOffsetMult, sliceFillAngle = spro.sliceFillAngle, supportDensity = spro.sliceSupportDensity, - view = widget.mesh && widget.mesh.newGroup ? widget.mesh.newGroup() : null, - beltfact = Math.cos(Math.PI/4), - invbfact = 1 / beltfact; + beltfact = Math.cos(Math.PI/4); isFlat = ctrl.lineType === "flat"; isThin = !isFlat && ctrl.lineType === "line"; diff --git a/web/kiri/lang/en.js b/web/kiri/lang/en.js index bba0019c..20735e60 100644 --- a/web/kiri/lang/en.js +++ b/web/kiri/lang/en.js @@ -268,6 +268,8 @@ kiri.lang['en-us'] = { // FDM SHELLS sl_shel_s: "shell count", sl_shel_l: ["number of perimeter","walls to generate"], + sl_line_s: "line width", + sl_line_l: ["extrusion width in millimeters","0 = nozzle diameter"], sl_ordr_s: "shell order", sl_ordr_l: ["output shell order","inside to outside","or outside to inside","affects surface quality"], sl_strt_s: "layer start",