-
Notifications
You must be signed in to change notification settings - Fork 2
/
todo.txt
94 lines (64 loc) · 2.83 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
1.0 required features
===================
- slot with square ends -> rounded cube with one side = d + flat_edges does that. Should slot do that in reverse?
- bolt library needs to get a rewrite,
- fetching dimensions from the imported Bolt library should be less awful
- needs a documentation and showcase
Features needed
===================
Hardware subsystem
------------------
- Hardware system needs a big overhaul as it's basically just imported from CrystalScad and has the old quirkiness
- instead of moving Bolts output, make it the default to make their positions an anchor
- Bolt size data should be in a constant instead of one "Data" constant i.e.
M2_5.head_dia
M2_5.head_h
M2_5_hole
- Bolt sizes should follow user configuration that can change margins
- Bolts should have an easier way to align than mirror them, maybe from :top
- but also, when you have a part that can be mounted in any top/bottom direction, you always end up having the bolts facing the wrong direction..
- Bolts should be able to also make thread inserts
- Bolts / Nuts by default should be able to use as mixin, i.e.
cylinder(Nut::M3)
slot(Nut::M5, x: 10)
possbibly M* like
cylinder(M4)
or
cylinder(M4, h: 25)
Possibly via symbols
cylinder(:m4, h: 30)
cylinder(:m4, :nut)
slot(:m5, :nut, x: 10)
General Features
------------------
- define a material
- split up Thing into multiple files for different features
2D subsystem
------------------
- get slice of circle (input angle, output angle)
3D subsystem
------------------
- position and Z inheritance system needs a complete overhaul, migrate to calculated values
- [ideas needed ] #at doesn't work well if you need to mirror a part
- anchors need to be able to do flipping, possibly rotation
- BUG: flip doesn't work on print, figure out why
- flip feature kinda keeps track of what's happening, but doesn't act on it yet. Options are now to implement all possible orientations, or it must apply the tranformations in the calculated size
CLI
------------------
- skip stl build for part
- make it definable to have more exports than part/print from one class
- multithreading STL building
- user profile generator via CLI
- new project files must use a template system that checks user profiles first
- user profile file should be auto generated with examples
Syntax improvements
------------------
- #at doesn't work without a reference part. If you omit it, self would be the reference and you may get an unintuitive error. May need to change how it works in that case
Future plans
==================
- cli needs to be a package manager for existing parts from a public library (i.e. bolts, motors go here), able to
-- query
-- download
-- update
(upload? -> probably git pull request for now)
- add external projects into one another (for example: make parts, show arrangement of a shelf in another project)