diff --git a/notes.md b/notes.md index ba5b0e1e..14ab79f3 100644 --- a/notes.md +++ b/notes.md @@ -12,7 +12,6 @@ * `P` allow selection to be decimated on demand (context menu?) * `P` move all persisted / workspace settings/data to IndexedDB (LS limitations) * `P` do not move (average) endpoints connected to long lines in decimate -* `P` explore widget vertex reloading / replacing (Onshape) (issue #48) * `P` faster ray intersect https://github.com/gkjohnson/three-mesh-bvh/ * `P` try material clipping planes for slice range selection @@ -22,10 +21,8 @@ * `F` allow select of a range by typing in values in slices or workspace units * `F` complete and expose grouping feature * `F` add svgnest-like arrange algorithm -* `F` warn if part hanging in negative Z space or off bed in general * `F` date column and sorting in recent files list - -* `C` reflow device dialog to add bottom tabbing, vertical macro list +* `F` warn if part hanging in negative Z space or off bed in general # FDM @@ -33,23 +30,21 @@ * `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` add layer start position as a range option +* `F` convert ranges to z offsets while continuing to show layer # * `F` support pillar top/bottom should conform to part * `F` support pillar should have solid top/bottom * `F` more explicit line width control with ranges and min/max adaptive * `F` test outlining solid projected areas (internally) * `F` gradient infill https://www.youtube.com/watch?v=hq53gsYREHU&feature=emb_logo * `F` feather sharp tips by reducing extrusion in area of overlap -* `F` first layer segment large flat areas for better fill reliability +* `F` segment large flat areas on first layer to mitigate peeling * `F` option to support interior bridges when 0% infill * `F` calculate filament use per extruder per print * `F` expand internal supporting flats / solids before projection -* `P` reduce fan speed for bridging -* `P` enable purge blocks when quick layers are detected -* `P` refactor skirt, brim, raft as synth widget instead of in path routing +* `P` reduce fan speed and extrusion factor for bridges +* `P` auto purge pullars when quick layers are detected for extra cooling * `P` extruder + filament max flow rate cap in planner -* `P` revisit path routing / optimization * `P` solid fill the tops of supports for down facing flats # FDM - SLA @@ -63,45 +58,39 @@ * `B` auto bed resizing leaves the origin in the wrong place at first * `B` re-add progress calls for all work units -* `F` promote forced layer retraction to a range parameter * `F` test and enable arcs in belt more -* `F` anchors should be generated anywhere needed in the print, not just head * `F` slightly angle supports to lean into the Z of the part +* `F` anchors should be generated anywhere needed in the print, not just head # CAM * `B` tab cuts cause loss of direction, parenting, depth, and it's hard to fix -* `B` tabs are not cut to exact height * `B` tabs do not properly track widget mirror events +* `B` tabs are not cut to exact height * `B` first rough step too far down in certain circumstances? * `B` need to force cut line at synthetic z bottom (midlines, etc) * `B` contour does not honor clip to stock * `F` add `plunge max` to contouring that can override z feed limit -* `F` roughing flats should be constrained to flat region +* `F` roughing flats should be constrained to flat region, not create a layer * `F` limit cut depth to flute length of selected tool (or warn) -* `F` add ease-down support to trace op * `F` change color of line selection in trace op when not a closed poly * `F` add linear clearing strategy * `F` add adaptive clearing strategy +* `F` add ease-down support to trace op * `F` user-defined origin (issue #28) * `F` intelligently turn circle hole pocket clear into spiral down -* `F` trace follow hole that matches endmill should turn into a drill op * `F` add climb/conventional into each operation -* `F` update analyzer to detect overhangs from faces, not slices * `F` extend acute roughing on inside polys to clear small voids -* `F` option to use part / STL coordinate space to determine X,Y origin * `F` validate muti-part layout and spacing exceeds largest outside tool diameter -* `F` polygon simplification option in tracing (for image derived maps) * `F` parameterize dropping close points in prep.js. ensure long segments remain straight * `F` flat and volumetric rendering of paths * `F` z planar settings visualizations -* `F` convert acute angles to arcs to avoid jerk * `F` lead-in milling * `F` trapezoidal tabs in Z +* `F` add support for tapered ball mills * `F` ease-in and ease-out especially on tab cut-out start/stop * `F` add option to spiral in vs out (optimal tool life) vs mixed (optimal path) -* `F` add support for tapered ball mills * `F` can animation clear the mesh in areas where the cuts go through the stock? * `F` support lathe mode / A-axis / rotary * `F` gcode output option as zip for multiple or flip ops or tool change @@ -113,8 +102,6 @@ * `P` port arc code from FDM export to CAM export * `P` common part pre-analyze to speed up 'slice' and improve shadow (overhangs) * `P` redo all path route / planning in prepare to account for terrain before camOut -* `P` allow faster z movements when contouring (not plunging) -* `P` common / faster shadow generator using vertices shared with ledges # SLA diff --git a/release.md b/release.md index 40eddca6..129d1e67 100644 --- a/release.md +++ b/release.md @@ -27,6 +27,7 @@ Full docs @ https://docs.grid.space/projects/kiri-moto * add FDM option to alternate shell winding direction * add FDM print time estimate fudge factor for devices * add `clear top` option to CNC outline operation +* add FDM layer retraction as a range option ## Mesh:Tool (1.2.0) @@ -37,8 +38,8 @@ Full docs @ https://docs.grid.space/projects/kiri-moto * quick add primitives: cube, cylinder * control wireframe transparency * parameterize png image import -* code added to show camera focal point * ~ undo / redo for some operations +* code added to show camera focal point * better Z split snapping using vertex closest to mouse diff --git a/src/kiri-mode/fdm/client.js b/src/kiri-mode/fdm/client.js index de32b8d5..1dc0f6ee 100644 --- a/src/kiri-mode/fdm/client.js +++ b/src/kiri-mode/fdm/client.js @@ -76,6 +76,7 @@ FDM.init = function(kiri, api) { "outputRetractDist": LANG.ad_rdst_s, "outputRetractSpeed": LANG.outputRetractSpeed, "outputRetractDwell": LANG.ad_rdwl_s, + "outputLayerRetract": LANG.ad_lret_s }; for (let key of Object.keys(rangeVars)) { diff --git a/src/kiri-mode/fdm/prepare.js b/src/kiri-mode/fdm/prepare.js index bc73bed4..ec84479e 100644 --- a/src/kiri-mode/fdm/prepare.js +++ b/src/kiri-mode/fdm/prepare.js @@ -36,7 +36,7 @@ FDM.prepare = function(widgets, settings, update) { let { device, process, controller, bounds, mode } = settings, { sliceHeight, firstSliceHeight, firstLayerRate } = process, - { outputSeekrate, outputLayerRetract, outputDraftShield, outputPurgeTower } = process, + { outputSeekrate, outputDraftShield, outputPurgeTower } = process, { bedWidth, bedDepth, filamentSource } = device, { lineType, danger } = controller, printPoint = newPoint(0,0,0), @@ -588,7 +588,7 @@ FDM.prepare = function(widgets, settings, update) { lastPoly = slice.lastPoly; lastLayer = layerout; - if (outputLayerRetract && layerout.length) { + if (params.outputLayerRetract && layerout.length) { layerout.last().retract = true; } }