grid-apps-cmms/notes.md

121 lines
5 KiB
Markdown

# Kiri:Moto todo
* per-device settings: grid-print target
* prevent text selection of non-input
* widget general add-ons (fdm supports, cam tabs)
* bail on decimation if it's proving ineffective
* improve decimation speed by avoiding in/out of Point
* dismissable transient message/alert
* modal non-alert-based dialog & spinner
* ability to cancel slice operations (complicated w/ workers)
* server-side processing (determine protocol and storage)
* move more kiri code (like printing) into modules like serial
* include device + settings in exported gcode as comments
* frame api * https://plus.google.com/u/0/+JakobFlierl/posts/hn6eirr6fXC
* refactor / simplify POLY.expand (put onus on collector)
* add simple solid (tube-like) rendering in place of lines
* extend mesh object to store raw + annotations (rot,scale,pos), share raw data w/ dups, encode/decode
* cloned objects share same slices data unless rotated
* remember object's original position/orientation for reset/multi-object import alignment
* gcode import break up "layers" on z move with no x/y move
# Onshape todo
* popup warning when detect 3rd party storage blocked (chrome)
* watch for changed part version to prompt re-import
* re-used cached version of parts if unchanged
* remap mouse/kbd to match onshape when iframed
# CAM todo
* add imperial / metric units switch in (future) global config options
* add option to spiral in vs out (optimal tool life) vs mixed (optimal path)
* pocket order should consider distance as well as size
* ease-in and ease-out especially on tab cut-out start/stop
* import options: unify bodies.
* milling order option: by operation or by part
* store tab and camshell polys in widget.topo to minimize z on edge moves
* trimming linear finishing to tabs
* improve 'clockwise' setting to take into account spindle direction, etc
* linear finishing cutting out tabs
* linear finishing going back to z top too often
* fix ease down and re-enable
* warn when part > stock or cuts go outside bed
* option to skip milling holes that would be drilled
* sender speed control slider (0%-200%) ?
* add M03 tool feedrate support (https://forum.grid.space/index.php?p=/discussion/14/s-parameter#latest)
* fails in pancaking (clone) when there are no sliced layers (like z bottom too high)
* crossing open space check point is outside camshell before returning max z
* compensate for leave-stock in outside roughing (w/ tabs)
* fix zooming, workspace thickness for larger workspaces
* only show toolchange alert/pause after the first M6
* raise z by leave-stock in roughing? if so, see next
* if (raise z) above, add clear-flats to finishing
* revisit tabs - just cut polys instead
* try chunking topo until smaller blocks for processing (fit in cacheline)
* linear x/y scan overflow (y) w/ topo model
* linear x/y not obeying inset from pocket only
* check normals for downward facing facets. mark top for slice skirt/pancake
# FDM todo
* preview doesn't show proper z offsets
* trim support offset from layer below
* optional startpoint based on fill origin when seek > retract distance
* feather sharp tips by reducing extrusion in area of overlap
* add option to reduce poly speed to match shortest/slowest segment
(helps when no k-factor support in firmware)
* use fill spacing for top raft fill spacing
* fix thin fill (outside). compute before sparse as separate logic.
* fix wrong first point in general (all modes)
* add lay-flat auto-rotation or from selected face
* add pause at specified layers
* add manual supports
* determine start point from gcode preamble
* check for support / brim intersections on first layer
* fan / layer control * update forum
* dual extruder support
* add min layer time (slowdown or cool-off wait)
* option to support interior bridges when 0% infill
* fix multiple part layout export offset (resend position @ print time)
* add gyroid infill * https://en.wikipedia.org/wiki/Gyroid
# Laser todo
* interior poly offsets are in the wrong direction?
* overcuts, radii for drag knives
* sla :: svg modified from http://garyhodgson.github.io/slic3rsvgviewer/?file=examples/belt_pulley3.svg
# References
* shader examples to enable object-clipping
-----
* http://jsfiddle.net/LK84y/9/
* http://www.html5rocks.com/en/tutorials/webgl/shaders/
* other
-----
* http://lcamtuf.coredump.cx/gcnc/full/
* http://www.tcs.fudan.edu.cn/rudolf/Courses/Algorithms/Alg_cs_07w/Webprojects/Zhaobo_hull/
* https://en.wikipedia.org/wiki/Graham_scan
* http://www.cambam.info/doc/0.9.7/cam/Pocket.aspx
* http://hackaday.com/2016/01/22/pack-your-plywood-cuts-with-genetic-algortihms/
* http://wiki.imal.org/howto/cnc-milling-introduction-cutting-tools
* http://www.twak.co.uk/2011/01/degeneracy-in-weighted-straight.html
# Sample FDM Pause/Unpause ```
; --- pause ---
G91 ; Relative Positioning
G0 Z20 ; Move Bed down 20mm
G90 ; Absolute positioning
G0 X10 Y10 ; Move to 10,10
M2000 ; Raise3D N2 Pause command
; --- un-pause ---
G91 ; Relative Positioning
G0 Z-20 ; Move Bed up 20mm
G90 ; Absolute positioning
```