diff --git a/notes.md b/notes.md index d34578c8..3356d276 100644 --- a/notes.md +++ b/notes.md @@ -15,6 +15,7 @@ * `P` explore widget vertex reloading / replacing (Onshape primarily) * `F` SVG import to 3D part like images +* `F` bundle current profile into exported device # FDM @@ -23,6 +24,7 @@ * `B` multi-extruder rendering of raft fails to offset the rest of the print * `B` multi-extruder purge blocks fail to generate properly for rafts +* `F` test outlining solid projected areas * `F` slicing controls per user-defined z-region * `F` control for size of purge block (with 0=disabled) * `F` add separate fill speed control diff --git a/src/kiri/conf.js b/src/kiri/conf.js index 6c036833..23cd2423 100644 --- a/src/kiri/conf.js +++ b/src/kiri/conf.js @@ -287,6 +287,7 @@ sliceFillAngle: 45, sliceFillOverlap: 0.3, sliceFillSparse: 0.5, + sliceFillRate: 0, sliceFillType: "hex", sliceSupportDensity: 0.25, sliceSupportOffset: 1.0, diff --git a/src/kiri/init.js b/src/kiri/init.js index 7a246c8a..3b6c45a6 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -459,9 +459,15 @@ renderMode++; API.function.slice(); break; - case cca('a'): // auto arrange items on platform - platform.layout(); - API.space.set_focus(API.selection.widgets()); + case cca('a'): + if (API.view.get() === VIEWS.ARRANGE) { + // auto arrange items on platform + platform.layout(); + API.space.set_focus(API.selection.widgets()); + } else { + // go to arrange view + API.view.set(VIEWS.ARRANGE); + } break; default: API.event.emit('keypress', evt); @@ -1653,6 +1659,8 @@ sliceFillSparse: UC.newInput(LANG.fi_pcnt_s, {title:LANG.fi_pcnt_l, convert:UC.toFloat, bound:UC.bound(0.0,1.0), modes:FDM}), sliceFillAngle: UC.newInput(LANG.fi_angl_s, {title:LANG.fi_angl_l, convert:UC.toFloat, modes:FDM}), sliceFillOverlap: UC.newInput(LANG.fi_over_s, {title:LANG.fi_over_l, convert:UC.toFloat, bound:UC.bound(0.0,2.0), modes:FDM}), + fdmSep: UC.newBlank({class:"pop-sep", modes:FDM}), + sliceFillRate: UC.newInput(LANG.ou_feed_s, {title:LANG.fi_rate_l, convert:UC.toInt, bound:UC.bound(0,300), modes:FDM}), fdmSupport: UC.newGroup(LANG.sp_menu, null, {modes:FDM, marker:false}), sliceSupportNozzle: UC.newSelect(LANG.sp_nozl_s, {title:LANG.sp_nozl_l, modes:FDM}, "extruders"), diff --git a/src/kiri/print.js b/src/kiri/print.js index 86a12c12..2543eba6 100644 --- a/src/kiri/print.js +++ b/src/kiri/print.js @@ -442,6 +442,7 @@ firstPrintMult = process.firstLayerPrintMult, printSpeed = opt.speed || (firstLayer ? firstShellSpeed : process.outputFeedrate), fillSpeed = opt.speed || opt.fillSpeed || (firstLayer ? firstFillSpeed || firstShellSpeed : process.outputFeedrate), + infillSpeed = process.sliceFillRate || opt.infillSpeed || fillSpeed || printSpeed, moveSpeed = process.outputSeekrate, origin = startPoint.add(offset), zhop = process.zHopDistance || 0, @@ -779,7 +780,7 @@ // then output solid and sparse fill outputFills(next.fill_lines); - outputSparse(next.fill_sparse, sparseMult); + outputSparse(next.fill_sparse, sparseMult, infillSpeed); lastTop = next; } diff --git a/web/kiri/lang/en.js b/web/kiri/lang/en.js index 82547eb2..d080f085 100644 --- a/web/kiri/lang/en.js +++ b/web/kiri/lang/en.js @@ -200,6 +200,8 @@ kiri.lang['en-us'] = { fi_angl_l: "base angle in degrees", fi_over_s: "overlap", fi_over_l: "overlap with shell and fill\nas % of nozzle width\nhigher bonds better\n0.0 - 1.0", + // fi_rate_s: "print speed", + fi_rate_l: "extrusion speed for infill\nset to 0 to use default\noutput print speeds", // FDM FIRST LAYER fl_menu: "base",