Create std::units module (#6528)

Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Nick Cameron
2025-04-29 08:41:31 +12:00
committed by GitHub
parent d96a4d3337
commit 3a23ec1bee
114 changed files with 4450 additions and 5591 deletions

View File

@ -1,239 +1,239 @@
```mermaid
flowchart LR
subgraph path3 [Path]
3["Path<br>[1081, 1131, 0]"]
4["Segment<br>[1081, 1131, 0]"]
3["Path<br>[1109, 1159, 0]"]
4["Segment<br>[1109, 1159, 0]"]
5[Solid2d]
end
subgraph path13 [Path]
13["Path<br>[1608, 1645, 0]"]
14["Segment<br>[1296, 1334, 0]"]
15["Segment<br>[1296, 1334, 0]"]
16["Segment<br>[1296, 1334, 0]"]
17["Segment<br>[1296, 1334, 0]"]
18["Segment<br>[1296, 1334, 0]"]
19["Segment<br>[1296, 1334, 0]"]
20["Segment<br>[1296, 1334, 0]"]
21["Segment<br>[1296, 1334, 0]"]
22["Segment<br>[1296, 1334, 0]"]
23["Segment<br>[1296, 1334, 0]"]
24["Segment<br>[1296, 1334, 0]"]
25["Segment<br>[1296, 1334, 0]"]
26["Segment<br>[1296, 1334, 0]"]
27["Segment<br>[1296, 1334, 0]"]
28["Segment<br>[1296, 1334, 0]"]
29["Segment<br>[1296, 1334, 0]"]
30["Segment<br>[1296, 1334, 0]"]
31["Segment<br>[1296, 1334, 0]"]
32["Segment<br>[1296, 1334, 0]"]
33["Segment<br>[1296, 1334, 0]"]
34["Segment<br>[1296, 1334, 0]"]
35["Segment<br>[1296, 1334, 0]"]
36["Segment<br>[1296, 1334, 0]"]
37["Segment<br>[1296, 1334, 0]"]
38["Segment<br>[1296, 1334, 0]"]
39["Segment<br>[1296, 1334, 0]"]
40["Segment<br>[1296, 1334, 0]"]
41["Segment<br>[1296, 1334, 0]"]
42["Segment<br>[1296, 1334, 0]"]
43["Segment<br>[1296, 1334, 0]"]
44["Segment<br>[1296, 1334, 0]"]
45["Segment<br>[1296, 1334, 0]"]
46["Segment<br>[1296, 1334, 0]"]
47["Segment<br>[1296, 1334, 0]"]
48["Segment<br>[1296, 1334, 0]"]
49["Segment<br>[1296, 1334, 0]"]
50["Segment<br>[1296, 1334, 0]"]
51["Segment<br>[1296, 1334, 0]"]
52["Segment<br>[1296, 1334, 0]"]
53["Segment<br>[1296, 1334, 0]"]
54["Segment<br>[1296, 1334, 0]"]
55["Segment<br>[1296, 1334, 0]"]
56["Segment<br>[1296, 1334, 0]"]
57["Segment<br>[1296, 1334, 0]"]
58["Segment<br>[1296, 1334, 0]"]
59["Segment<br>[1296, 1334, 0]"]
60["Segment<br>[1296, 1334, 0]"]
61["Segment<br>[1296, 1334, 0]"]
62["Segment<br>[1296, 1334, 0]"]
63["Segment<br>[1296, 1334, 0]"]
64["Segment<br>[1296, 1334, 0]"]
65["Segment<br>[1296, 1334, 0]"]
66["Segment<br>[1296, 1334, 0]"]
67["Segment<br>[1296, 1334, 0]"]
68["Segment<br>[1296, 1334, 0]"]
69["Segment<br>[1296, 1334, 0]"]
70["Segment<br>[1296, 1334, 0]"]
71["Segment<br>[1296, 1334, 0]"]
72["Segment<br>[1296, 1334, 0]"]
73["Segment<br>[1296, 1334, 0]"]
74["Segment<br>[1296, 1334, 0]"]
75["Segment<br>[1296, 1334, 0]"]
76["Segment<br>[1296, 1334, 0]"]
77["Segment<br>[1296, 1334, 0]"]
78["Segment<br>[1296, 1334, 0]"]
79["Segment<br>[1296, 1334, 0]"]
80["Segment<br>[1296, 1334, 0]"]
81["Segment<br>[1296, 1334, 0]"]
82["Segment<br>[1296, 1334, 0]"]
83["Segment<br>[1296, 1334, 0]"]
84["Segment<br>[1296, 1334, 0]"]
85["Segment<br>[1296, 1334, 0]"]
86["Segment<br>[1296, 1334, 0]"]
87["Segment<br>[1296, 1334, 0]"]
88["Segment<br>[1296, 1334, 0]"]
89["Segment<br>[1296, 1334, 0]"]
90["Segment<br>[1296, 1334, 0]"]
91["Segment<br>[1296, 1334, 0]"]
92["Segment<br>[1296, 1334, 0]"]
93["Segment<br>[1296, 1334, 0]"]
94["Segment<br>[1296, 1334, 0]"]
95["Segment<br>[1296, 1334, 0]"]
96["Segment<br>[1296, 1334, 0]"]
97["Segment<br>[1296, 1334, 0]"]
98["Segment<br>[1296, 1334, 0]"]
99["Segment<br>[1296, 1334, 0]"]
100["Segment<br>[1296, 1334, 0]"]
101["Segment<br>[1296, 1334, 0]"]
102["Segment<br>[1296, 1334, 0]"]
103["Segment<br>[1296, 1334, 0]"]
104["Segment<br>[1296, 1334, 0]"]
105["Segment<br>[1296, 1334, 0]"]
106["Segment<br>[1296, 1334, 0]"]
107["Segment<br>[1296, 1334, 0]"]
108["Segment<br>[1296, 1334, 0]"]
109["Segment<br>[1296, 1334, 0]"]
110["Segment<br>[1296, 1334, 0]"]
111["Segment<br>[1296, 1334, 0]"]
112["Segment<br>[1296, 1334, 0]"]
113["Segment<br>[1296, 1334, 0]"]
114["Segment<br>[1296, 1334, 0]"]
115["Segment<br>[1711, 1809, 0]"]
116["Segment<br>[1524, 1554, 0]"]
117["Segment<br>[1524, 1554, 0]"]
118["Segment<br>[1524, 1554, 0]"]
119["Segment<br>[1524, 1554, 0]"]
120["Segment<br>[1524, 1554, 0]"]
121["Segment<br>[1524, 1554, 0]"]
122["Segment<br>[1524, 1554, 0]"]
123["Segment<br>[1524, 1554, 0]"]
124["Segment<br>[1524, 1554, 0]"]
125["Segment<br>[1524, 1554, 0]"]
126["Segment<br>[1524, 1554, 0]"]
127["Segment<br>[1524, 1554, 0]"]
128["Segment<br>[1524, 1554, 0]"]
129["Segment<br>[1524, 1554, 0]"]
130["Segment<br>[1524, 1554, 0]"]
131["Segment<br>[1524, 1554, 0]"]
132["Segment<br>[1524, 1554, 0]"]
133["Segment<br>[1524, 1554, 0]"]
134["Segment<br>[1524, 1554, 0]"]
135["Segment<br>[1524, 1554, 0]"]
136["Segment<br>[1524, 1554, 0]"]
137["Segment<br>[1524, 1554, 0]"]
138["Segment<br>[1524, 1554, 0]"]
139["Segment<br>[1524, 1554, 0]"]
140["Segment<br>[1524, 1554, 0]"]
141["Segment<br>[1524, 1554, 0]"]
142["Segment<br>[1524, 1554, 0]"]
143["Segment<br>[1524, 1554, 0]"]
144["Segment<br>[1524, 1554, 0]"]
145["Segment<br>[1524, 1554, 0]"]
146["Segment<br>[1524, 1554, 0]"]
147["Segment<br>[1524, 1554, 0]"]
148["Segment<br>[1524, 1554, 0]"]
149["Segment<br>[1524, 1554, 0]"]
150["Segment<br>[1524, 1554, 0]"]
151["Segment<br>[1524, 1554, 0]"]
152["Segment<br>[1524, 1554, 0]"]
153["Segment<br>[1524, 1554, 0]"]
154["Segment<br>[1524, 1554, 0]"]
155["Segment<br>[1524, 1554, 0]"]
156["Segment<br>[1524, 1554, 0]"]
157["Segment<br>[1524, 1554, 0]"]
158["Segment<br>[1524, 1554, 0]"]
159["Segment<br>[1524, 1554, 0]"]
160["Segment<br>[1524, 1554, 0]"]
161["Segment<br>[1524, 1554, 0]"]
162["Segment<br>[1524, 1554, 0]"]
163["Segment<br>[1524, 1554, 0]"]
164["Segment<br>[1524, 1554, 0]"]
165["Segment<br>[1524, 1554, 0]"]
166["Segment<br>[1524, 1554, 0]"]
167["Segment<br>[1524, 1554, 0]"]
168["Segment<br>[1524, 1554, 0]"]
169["Segment<br>[1524, 1554, 0]"]
170["Segment<br>[1524, 1554, 0]"]
171["Segment<br>[1524, 1554, 0]"]
172["Segment<br>[1524, 1554, 0]"]
173["Segment<br>[1524, 1554, 0]"]
174["Segment<br>[1524, 1554, 0]"]
175["Segment<br>[1524, 1554, 0]"]
176["Segment<br>[1524, 1554, 0]"]
177["Segment<br>[1524, 1554, 0]"]
178["Segment<br>[1524, 1554, 0]"]
179["Segment<br>[1524, 1554, 0]"]
180["Segment<br>[1524, 1554, 0]"]
181["Segment<br>[1524, 1554, 0]"]
182["Segment<br>[1524, 1554, 0]"]
183["Segment<br>[1524, 1554, 0]"]
184["Segment<br>[1524, 1554, 0]"]
185["Segment<br>[1524, 1554, 0]"]
186["Segment<br>[1524, 1554, 0]"]
187["Segment<br>[1524, 1554, 0]"]
188["Segment<br>[1524, 1554, 0]"]
189["Segment<br>[1524, 1554, 0]"]
190["Segment<br>[1524, 1554, 0]"]
191["Segment<br>[1524, 1554, 0]"]
192["Segment<br>[1524, 1554, 0]"]
193["Segment<br>[1524, 1554, 0]"]
194["Segment<br>[1524, 1554, 0]"]
195["Segment<br>[1524, 1554, 0]"]
196["Segment<br>[1524, 1554, 0]"]
197["Segment<br>[1524, 1554, 0]"]
198["Segment<br>[1524, 1554, 0]"]
199["Segment<br>[1524, 1554, 0]"]
200["Segment<br>[1524, 1554, 0]"]
201["Segment<br>[1524, 1554, 0]"]
202["Segment<br>[1524, 1554, 0]"]
203["Segment<br>[1524, 1554, 0]"]
204["Segment<br>[1524, 1554, 0]"]
205["Segment<br>[1524, 1554, 0]"]
206["Segment<br>[1524, 1554, 0]"]
207["Segment<br>[1524, 1554, 0]"]
208["Segment<br>[1524, 1554, 0]"]
209["Segment<br>[1524, 1554, 0]"]
210["Segment<br>[1524, 1554, 0]"]
211["Segment<br>[1524, 1554, 0]"]
212["Segment<br>[1524, 1554, 0]"]
213["Segment<br>[1524, 1554, 0]"]
214["Segment<br>[1524, 1554, 0]"]
215["Segment<br>[1524, 1554, 0]"]
216["Segment<br>[1524, 1554, 0]"]
217["Segment<br>[1869, 1876, 0]"]
13["Path<br>[1664, 1701, 0]"]
14["Segment<br>[1324, 1362, 0]"]
15["Segment<br>[1324, 1362, 0]"]
16["Segment<br>[1324, 1362, 0]"]
17["Segment<br>[1324, 1362, 0]"]
18["Segment<br>[1324, 1362, 0]"]
19["Segment<br>[1324, 1362, 0]"]
20["Segment<br>[1324, 1362, 0]"]
21["Segment<br>[1324, 1362, 0]"]
22["Segment<br>[1324, 1362, 0]"]
23["Segment<br>[1324, 1362, 0]"]
24["Segment<br>[1324, 1362, 0]"]
25["Segment<br>[1324, 1362, 0]"]
26["Segment<br>[1324, 1362, 0]"]
27["Segment<br>[1324, 1362, 0]"]
28["Segment<br>[1324, 1362, 0]"]
29["Segment<br>[1324, 1362, 0]"]
30["Segment<br>[1324, 1362, 0]"]
31["Segment<br>[1324, 1362, 0]"]
32["Segment<br>[1324, 1362, 0]"]
33["Segment<br>[1324, 1362, 0]"]
34["Segment<br>[1324, 1362, 0]"]
35["Segment<br>[1324, 1362, 0]"]
36["Segment<br>[1324, 1362, 0]"]
37["Segment<br>[1324, 1362, 0]"]
38["Segment<br>[1324, 1362, 0]"]
39["Segment<br>[1324, 1362, 0]"]
40["Segment<br>[1324, 1362, 0]"]
41["Segment<br>[1324, 1362, 0]"]
42["Segment<br>[1324, 1362, 0]"]
43["Segment<br>[1324, 1362, 0]"]
44["Segment<br>[1324, 1362, 0]"]
45["Segment<br>[1324, 1362, 0]"]
46["Segment<br>[1324, 1362, 0]"]
47["Segment<br>[1324, 1362, 0]"]
48["Segment<br>[1324, 1362, 0]"]
49["Segment<br>[1324, 1362, 0]"]
50["Segment<br>[1324, 1362, 0]"]
51["Segment<br>[1324, 1362, 0]"]
52["Segment<br>[1324, 1362, 0]"]
53["Segment<br>[1324, 1362, 0]"]
54["Segment<br>[1324, 1362, 0]"]
55["Segment<br>[1324, 1362, 0]"]
56["Segment<br>[1324, 1362, 0]"]
57["Segment<br>[1324, 1362, 0]"]
58["Segment<br>[1324, 1362, 0]"]
59["Segment<br>[1324, 1362, 0]"]
60["Segment<br>[1324, 1362, 0]"]
61["Segment<br>[1324, 1362, 0]"]
62["Segment<br>[1324, 1362, 0]"]
63["Segment<br>[1324, 1362, 0]"]
64["Segment<br>[1324, 1362, 0]"]
65["Segment<br>[1324, 1362, 0]"]
66["Segment<br>[1324, 1362, 0]"]
67["Segment<br>[1324, 1362, 0]"]
68["Segment<br>[1324, 1362, 0]"]
69["Segment<br>[1324, 1362, 0]"]
70["Segment<br>[1324, 1362, 0]"]
71["Segment<br>[1324, 1362, 0]"]
72["Segment<br>[1324, 1362, 0]"]
73["Segment<br>[1324, 1362, 0]"]
74["Segment<br>[1324, 1362, 0]"]
75["Segment<br>[1324, 1362, 0]"]
76["Segment<br>[1324, 1362, 0]"]
77["Segment<br>[1324, 1362, 0]"]
78["Segment<br>[1324, 1362, 0]"]
79["Segment<br>[1324, 1362, 0]"]
80["Segment<br>[1324, 1362, 0]"]
81["Segment<br>[1324, 1362, 0]"]
82["Segment<br>[1324, 1362, 0]"]
83["Segment<br>[1324, 1362, 0]"]
84["Segment<br>[1324, 1362, 0]"]
85["Segment<br>[1324, 1362, 0]"]
86["Segment<br>[1324, 1362, 0]"]
87["Segment<br>[1324, 1362, 0]"]
88["Segment<br>[1324, 1362, 0]"]
89["Segment<br>[1324, 1362, 0]"]
90["Segment<br>[1324, 1362, 0]"]
91["Segment<br>[1324, 1362, 0]"]
92["Segment<br>[1324, 1362, 0]"]
93["Segment<br>[1324, 1362, 0]"]
94["Segment<br>[1324, 1362, 0]"]
95["Segment<br>[1324, 1362, 0]"]
96["Segment<br>[1324, 1362, 0]"]
97["Segment<br>[1324, 1362, 0]"]
98["Segment<br>[1324, 1362, 0]"]
99["Segment<br>[1324, 1362, 0]"]
100["Segment<br>[1324, 1362, 0]"]
101["Segment<br>[1324, 1362, 0]"]
102["Segment<br>[1324, 1362, 0]"]
103["Segment<br>[1324, 1362, 0]"]
104["Segment<br>[1324, 1362, 0]"]
105["Segment<br>[1324, 1362, 0]"]
106["Segment<br>[1324, 1362, 0]"]
107["Segment<br>[1324, 1362, 0]"]
108["Segment<br>[1324, 1362, 0]"]
109["Segment<br>[1324, 1362, 0]"]
110["Segment<br>[1324, 1362, 0]"]
111["Segment<br>[1324, 1362, 0]"]
112["Segment<br>[1324, 1362, 0]"]
113["Segment<br>[1324, 1362, 0]"]
114["Segment<br>[1324, 1362, 0]"]
115["Segment<br>[1767, 1865, 0]"]
116["Segment<br>[1580, 1610, 0]"]
117["Segment<br>[1580, 1610, 0]"]
118["Segment<br>[1580, 1610, 0]"]
119["Segment<br>[1580, 1610, 0]"]
120["Segment<br>[1580, 1610, 0]"]
121["Segment<br>[1580, 1610, 0]"]
122["Segment<br>[1580, 1610, 0]"]
123["Segment<br>[1580, 1610, 0]"]
124["Segment<br>[1580, 1610, 0]"]
125["Segment<br>[1580, 1610, 0]"]
126["Segment<br>[1580, 1610, 0]"]
127["Segment<br>[1580, 1610, 0]"]
128["Segment<br>[1580, 1610, 0]"]
129["Segment<br>[1580, 1610, 0]"]
130["Segment<br>[1580, 1610, 0]"]
131["Segment<br>[1580, 1610, 0]"]
132["Segment<br>[1580, 1610, 0]"]
133["Segment<br>[1580, 1610, 0]"]
134["Segment<br>[1580, 1610, 0]"]
135["Segment<br>[1580, 1610, 0]"]
136["Segment<br>[1580, 1610, 0]"]
137["Segment<br>[1580, 1610, 0]"]
138["Segment<br>[1580, 1610, 0]"]
139["Segment<br>[1580, 1610, 0]"]
140["Segment<br>[1580, 1610, 0]"]
141["Segment<br>[1580, 1610, 0]"]
142["Segment<br>[1580, 1610, 0]"]
143["Segment<br>[1580, 1610, 0]"]
144["Segment<br>[1580, 1610, 0]"]
145["Segment<br>[1580, 1610, 0]"]
146["Segment<br>[1580, 1610, 0]"]
147["Segment<br>[1580, 1610, 0]"]
148["Segment<br>[1580, 1610, 0]"]
149["Segment<br>[1580, 1610, 0]"]
150["Segment<br>[1580, 1610, 0]"]
151["Segment<br>[1580, 1610, 0]"]
152["Segment<br>[1580, 1610, 0]"]
153["Segment<br>[1580, 1610, 0]"]
154["Segment<br>[1580, 1610, 0]"]
155["Segment<br>[1580, 1610, 0]"]
156["Segment<br>[1580, 1610, 0]"]
157["Segment<br>[1580, 1610, 0]"]
158["Segment<br>[1580, 1610, 0]"]
159["Segment<br>[1580, 1610, 0]"]
160["Segment<br>[1580, 1610, 0]"]
161["Segment<br>[1580, 1610, 0]"]
162["Segment<br>[1580, 1610, 0]"]
163["Segment<br>[1580, 1610, 0]"]
164["Segment<br>[1580, 1610, 0]"]
165["Segment<br>[1580, 1610, 0]"]
166["Segment<br>[1580, 1610, 0]"]
167["Segment<br>[1580, 1610, 0]"]
168["Segment<br>[1580, 1610, 0]"]
169["Segment<br>[1580, 1610, 0]"]
170["Segment<br>[1580, 1610, 0]"]
171["Segment<br>[1580, 1610, 0]"]
172["Segment<br>[1580, 1610, 0]"]
173["Segment<br>[1580, 1610, 0]"]
174["Segment<br>[1580, 1610, 0]"]
175["Segment<br>[1580, 1610, 0]"]
176["Segment<br>[1580, 1610, 0]"]
177["Segment<br>[1580, 1610, 0]"]
178["Segment<br>[1580, 1610, 0]"]
179["Segment<br>[1580, 1610, 0]"]
180["Segment<br>[1580, 1610, 0]"]
181["Segment<br>[1580, 1610, 0]"]
182["Segment<br>[1580, 1610, 0]"]
183["Segment<br>[1580, 1610, 0]"]
184["Segment<br>[1580, 1610, 0]"]
185["Segment<br>[1580, 1610, 0]"]
186["Segment<br>[1580, 1610, 0]"]
187["Segment<br>[1580, 1610, 0]"]
188["Segment<br>[1580, 1610, 0]"]
189["Segment<br>[1580, 1610, 0]"]
190["Segment<br>[1580, 1610, 0]"]
191["Segment<br>[1580, 1610, 0]"]
192["Segment<br>[1580, 1610, 0]"]
193["Segment<br>[1580, 1610, 0]"]
194["Segment<br>[1580, 1610, 0]"]
195["Segment<br>[1580, 1610, 0]"]
196["Segment<br>[1580, 1610, 0]"]
197["Segment<br>[1580, 1610, 0]"]
198["Segment<br>[1580, 1610, 0]"]
199["Segment<br>[1580, 1610, 0]"]
200["Segment<br>[1580, 1610, 0]"]
201["Segment<br>[1580, 1610, 0]"]
202["Segment<br>[1580, 1610, 0]"]
203["Segment<br>[1580, 1610, 0]"]
204["Segment<br>[1580, 1610, 0]"]
205["Segment<br>[1580, 1610, 0]"]
206["Segment<br>[1580, 1610, 0]"]
207["Segment<br>[1580, 1610, 0]"]
208["Segment<br>[1580, 1610, 0]"]
209["Segment<br>[1580, 1610, 0]"]
210["Segment<br>[1580, 1610, 0]"]
211["Segment<br>[1580, 1610, 0]"]
212["Segment<br>[1580, 1610, 0]"]
213["Segment<br>[1580, 1610, 0]"]
214["Segment<br>[1580, 1610, 0]"]
215["Segment<br>[1580, 1610, 0]"]
216["Segment<br>[1580, 1610, 0]"]
217["Segment<br>[1925, 1932, 0]"]
218[Solid2d]
end
subgraph path220 [Path]
220["Path<br>[2357, 2436, 0]"]
221["Segment<br>[2442, 2469, 0]"]
222["Segment<br>[2475, 2503, 0]"]
223["Segment<br>[2509, 2537, 0]"]
224["Segment<br>[2543, 2659, 0]"]
225["Segment<br>[2665, 2770, 0]"]
226["Segment<br>[2776, 2783, 0]"]
220["Path<br>[2413, 2492, 0]"]
221["Segment<br>[2498, 2525, 0]"]
222["Segment<br>[2531, 2559, 0]"]
223["Segment<br>[2565, 2593, 0]"]
224["Segment<br>[2599, 2722, 0]"]
225["Segment<br>[2728, 2840, 0]"]
226["Segment<br>[2846, 2853, 0]"]
227[Solid2d]
end
1["Plane<br>[168, 185, 0]"]
2["Plane<br>[1058, 1075, 0]"]
6["Sweep Extrusion<br>[1137, 1165, 0]"]
2["Plane<br>[1086, 1103, 0]"]
6["Sweep Extrusion<br>[1165, 1193, 0]"]
7[Wall]
8["Cap Start"]
9["Cap End"]
10["SweepEdge Opposite"]
11["SweepEdge Adjacent"]
12["Plane<br>[1585, 1602, 0]"]
219["Sweep Extrusion<br>[1882, 1910, 0]"]
228["Sweep Extrusion<br>[2789, 2818, 0]"]
12["Plane<br>[1641, 1658, 0]"]
219["Sweep Extrusion<br>[1938, 1966, 0]"]
228["Sweep Extrusion<br>[2859, 2888, 0]"]
229[Wall]
230[Wall]
231[Wall]
@ -246,7 +246,7 @@ flowchart LR
238["SweepEdge Adjacent"]
239["SweepEdge Opposite"]
240["SweepEdge Adjacent"]
241["StartSketchOnFace<br>[2320, 2351, 0]"]
241["StartSketchOnFace<br>[2376, 2407, 0]"]
2 --- 3
3 --- 4
3 ---- 6

View File

@ -487,7 +487,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -1085,7 +1093,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -1239,7 +1255,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -1302,7 +1326,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -2590,7 +2622,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -2616,7 +2656,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -2835,7 +2883,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -2861,7 +2917,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -4621,7 +4685,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},
@ -4787,7 +4859,15 @@ description: Result of parsing import_async.kcl
"start": 0,
"type": "Identifier"
},
"path": [],
"path": [
{
"commentStart": 0,
"end": 0,
"name": "units",
"start": 0,
"type": "Identifier"
}
],
"start": 0,
"type": "Name"
},

View File

@ -16,7 +16,7 @@ pitchDiameter = module * nTeeth
pressureAngle = 20
addendum = module
deddendum = 1.25 * module
baseDiameter = pitchDiameter * cos(toRadians(pressureAngle))
baseDiameter = pitchDiameter * cos(units::toRadians(pressureAngle))
tipDiameter = pitchDiameter + 2 * module
gearHeight = 3
@ -28,12 +28,12 @@ rs = map([0..cmo], f = fn(i) {
// Calculate operating pressure angle
angles = map(rs, f = fn(r) {
return toDegrees( acos(baseDiameter / 2 / r))
return units::toDegrees( acos(baseDiameter / 2 / r))
})
// Calculate the involute function
invas = map(angles, f = fn(a) {
return tan(toRadians(a)) - toRadians(a)
return tan(units::toRadians(a)) - units::toRadians(a)
})
// Map the involute curve
@ -59,8 +59,8 @@ fn leftInvolute(i, sg) {
}
fn rightInvolute(i, sg) {
x = rs[i] * cos(toRadians(-toothAngle + toDegrees(atan(ys[i] / xs[i]))))
y = -rs[i] * sin(toRadians(-toothAngle + toDegrees(atan(ys[i] / xs[i]))))
x = rs[i] * cos(units::toRadians(-toothAngle + units::toDegrees(atan(ys[i] / xs[i]))))
y = -rs[i] * sin(units::toRadians(-toothAngle + units::toDegrees(atan(ys[i] / xs[i]))))
return line(sg, endAbsolute = [x, y])
}
@ -98,13 +98,13 @@ keyWay = startSketchOn(body, face = END)
|> yLine(length = -keywayWidth)
|> xLine(length = -keywayDepth)
|> arc(
angleStart = -1 * toDegrees(startAngle) + 360,
angleStart = -1 * units::toDegrees(startAngle) + 360,
angleEnd = 180,
radius = holeRadius,
)
|> arc(
angleStart = 180,
angleEnd = toDegrees(startAngle),
angleEnd = units::toDegrees(startAngle),
radius = holeRadius,
)
|> close()

File diff suppressed because it is too large Load Diff

View File

@ -3598,7 +3598,7 @@ description: Variables in memory after executing import_async.kcl
},
"screw": {
"type": "Module",
"value": 7
"value": 8
},
"start": {
"type": "Sketch",

View File

@ -19,7 +19,7 @@ pitchDiameter = module * nTeeth
pressureAngle = 20
addendum = module
deddendum = 1.25 * module
baseDiameter = pitchDiameter * cos(toRadians(pressureAngle))
baseDiameter = pitchDiameter * cos(units::toRadians(pressureAngle))
tipDiameter = pitchDiameter + 2 * module
gearHeight = 3
@ -36,7 +36,7 @@ rs = map(
angles = map(
rs,
f = fn(r) {
return toDegrees( acos(baseDiameter / 2 / r))
return units::toDegrees( acos(baseDiameter / 2 / r))
},
)
@ -44,7 +44,7 @@ angles = map(
invas = map(
angles,
f = fn(a) {
return tan(toRadians(a)) - toRadians(a)
return tan(units::toRadians(a)) - units::toRadians(a)
},
)
@ -77,8 +77,8 @@ fn leftInvolute(i, sg) {
}
fn rightInvolute(i, sg) {
x = rs[i] * cos(toRadians(-toothAngle + toDegrees(atan(ys[i] / xs[i]))))
y = -rs[i] * sin(toRadians(-toothAngle + toDegrees(atan(ys[i] / xs[i]))))
x = rs[i] * cos(units::toRadians(-toothAngle + units::toDegrees(atan(ys[i] / xs[i]))))
y = -rs[i] * sin(units::toRadians(-toothAngle + units::toDegrees(atan(ys[i] / xs[i]))))
return line(sg, endAbsolute = [x, y])
}
@ -114,8 +114,8 @@ keyWay = startSketchOn(body, face = END)
|> xLine(length = keywayDepth)
|> yLine(length = -keywayWidth)
|> xLine(length = -keywayDepth)
|> arc(angleStart = -1 * toDegrees(startAngle) + 360, angleEnd = 180, radius = holeRadius)
|> arc(angleStart = 180, angleEnd = toDegrees(startAngle), radius = holeRadius)
|> arc(angleStart = -1 * units::toDegrees(startAngle) + 360, angleEnd = 180, radius = holeRadius)
|> arc(angleStart = 180, angleEnd = units::toDegrees(startAngle), radius = holeRadius)
|> close()
|> extrude(length = -gearHeight)