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

@ -1330,7 +1330,7 @@ description: Artifact commands exhaust-manifold.kcl
"z": 0.0
},
"x_axis": {
"x": -0.4257792915650726,
"x": -0.42577929156507266,
"y": 0.9048270524660196,
"z": 0.0
},
@ -1355,7 +1355,7 @@ description: Artifact commands exhaust-manifold.kcl
"adjust_camera": false,
"planar_normal": {
"x": 0.9048270524660196,
"y": 0.4257792915650726,
"y": 0.42577929156507266,
"z": -0.0
}
}

View File

@ -1,172 +1,172 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[781, 816, 0]"]
3["Segment<br>[824, 850, 0]"]
4["Segment<br>[858, 919, 0]"]
5["Segment<br>[927, 986, 0]"]
6["Segment<br>[994, 1054, 0]"]
7["Segment<br>[1062, 1121, 0]"]
2["Path<br>[748, 783, 0]"]
3["Segment<br>[791, 817, 0]"]
4["Segment<br>[825, 886, 0]"]
5["Segment<br>[894, 953, 0]"]
6["Segment<br>[961, 1021, 0]"]
7["Segment<br>[1029, 1088, 0]"]
end
subgraph path9 [Path]
9["Path<br>[1223, 1285, 0]"]
10["Segment<br>[1223, 1285, 0]"]
9["Path<br>[1190, 1252, 0]"]
10["Segment<br>[1190, 1252, 0]"]
11[Solid2d]
end
subgraph path12 [Path]
12["Path<br>[1311, 1389, 0]"]
13["Segment<br>[1311, 1389, 0]"]
12["Path<br>[1278, 1356, 0]"]
13["Segment<br>[1278, 1356, 0]"]
14[Solid2d]
end
subgraph path22 [Path]
22["Path<br>[781, 816, 0]"]
23["Segment<br>[824, 850, 0]"]
24["Segment<br>[858, 919, 0]"]
25["Segment<br>[927, 986, 0]"]
26["Segment<br>[994, 1054, 0]"]
27["Segment<br>[1062, 1121, 0]"]
22["Path<br>[748, 783, 0]"]
23["Segment<br>[791, 817, 0]"]
24["Segment<br>[825, 886, 0]"]
25["Segment<br>[894, 953, 0]"]
26["Segment<br>[961, 1021, 0]"]
27["Segment<br>[1029, 1088, 0]"]
end
subgraph path29 [Path]
29["Path<br>[1223, 1285, 0]"]
30["Segment<br>[1223, 1285, 0]"]
29["Path<br>[1190, 1252, 0]"]
30["Segment<br>[1190, 1252, 0]"]
31[Solid2d]
end
subgraph path32 [Path]
32["Path<br>[1311, 1389, 0]"]
33["Segment<br>[1311, 1389, 0]"]
32["Path<br>[1278, 1356, 0]"]
33["Segment<br>[1278, 1356, 0]"]
34[Solid2d]
end
subgraph path42 [Path]
42["Path<br>[781, 816, 0]"]
43["Segment<br>[824, 850, 0]"]
44["Segment<br>[858, 919, 0]"]
45["Segment<br>[927, 986, 0]"]
46["Segment<br>[994, 1054, 0]"]
47["Segment<br>[1062, 1121, 0]"]
42["Path<br>[748, 783, 0]"]
43["Segment<br>[791, 817, 0]"]
44["Segment<br>[825, 886, 0]"]
45["Segment<br>[894, 953, 0]"]
46["Segment<br>[961, 1021, 0]"]
47["Segment<br>[1029, 1088, 0]"]
end
subgraph path49 [Path]
49["Path<br>[1223, 1285, 0]"]
50["Segment<br>[1223, 1285, 0]"]
49["Path<br>[1190, 1252, 0]"]
50["Segment<br>[1190, 1252, 0]"]
51[Solid2d]
end
subgraph path52 [Path]
52["Path<br>[1311, 1389, 0]"]
53["Segment<br>[1311, 1389, 0]"]
52["Path<br>[1278, 1356, 0]"]
53["Segment<br>[1278, 1356, 0]"]
54[Solid2d]
end
subgraph path62 [Path]
62["Path<br>[781, 816, 0]"]
63["Segment<br>[824, 850, 0]"]
64["Segment<br>[858, 919, 0]"]
65["Segment<br>[927, 986, 0]"]
66["Segment<br>[994, 1054, 0]"]
67["Segment<br>[1062, 1121, 0]"]
62["Path<br>[748, 783, 0]"]
63["Segment<br>[791, 817, 0]"]
64["Segment<br>[825, 886, 0]"]
65["Segment<br>[894, 953, 0]"]
66["Segment<br>[961, 1021, 0]"]
67["Segment<br>[1029, 1088, 0]"]
end
subgraph path69 [Path]
69["Path<br>[1223, 1285, 0]"]
70["Segment<br>[1223, 1285, 0]"]
69["Path<br>[1190, 1252, 0]"]
70["Segment<br>[1190, 1252, 0]"]
71[Solid2d]
end
subgraph path72 [Path]
72["Path<br>[1311, 1389, 0]"]
73["Segment<br>[1311, 1389, 0]"]
72["Path<br>[1278, 1356, 0]"]
73["Segment<br>[1278, 1356, 0]"]
74[Solid2d]
end
subgraph path82 [Path]
82["Path<br>[1713, 1748, 0]"]
83["Segment<br>[1754, 1788, 0]"]
84["Segment<br>[1794, 1833, 0]"]
85["Segment<br>[1839, 1877, 0]"]
86["Segment<br>[1883, 1922, 0]"]
87["Segment<br>[1928, 1962, 0]"]
88["Segment<br>[1968, 2011, 0]"]
89["Segment<br>[2017, 2050, 0]"]
90["Segment<br>[2056, 2095, 0]"]
91["Segment<br>[2101, 2140, 0]"]
92["Segment<br>[2146, 2185, 0]"]
93["Segment<br>[2191, 2234, 0]"]
94["Segment<br>[2240, 2291, 0]"]
95["Segment<br>[2297, 2341, 0]"]
96["Segment<br>[2347, 2386, 0]"]
97["Segment<br>[2392, 2430, 0]"]
98["Segment<br>[2436, 2501, 0]"]
99["Segment<br>[2507, 2514, 0]"]
82["Path<br>[1680, 1715, 0]"]
83["Segment<br>[1721, 1755, 0]"]
84["Segment<br>[1761, 1800, 0]"]
85["Segment<br>[1806, 1844, 0]"]
86["Segment<br>[1850, 1889, 0]"]
87["Segment<br>[1895, 1929, 0]"]
88["Segment<br>[1935, 1978, 0]"]
89["Segment<br>[1984, 2017, 0]"]
90["Segment<br>[2023, 2062, 0]"]
91["Segment<br>[2068, 2107, 0]"]
92["Segment<br>[2113, 2152, 0]"]
93["Segment<br>[2158, 2201, 0]"]
94["Segment<br>[2207, 2258, 0]"]
95["Segment<br>[2264, 2308, 0]"]
96["Segment<br>[2314, 2353, 0]"]
97["Segment<br>[2359, 2397, 0]"]
98["Segment<br>[2403, 2468, 0]"]
99["Segment<br>[2474, 2481, 0]"]
100[Solid2d]
end
subgraph path101 [Path]
101["Path<br>[2599, 2672, 0]"]
102["Segment<br>[2599, 2672, 0]"]
101["Path<br>[2566, 2639, 0]"]
102["Segment<br>[2566, 2639, 0]"]
103[Solid2d]
end
subgraph path104 [Path]
104["Path<br>[2697, 2770, 0]"]
105["Segment<br>[2697, 2770, 0]"]
104["Path<br>[2664, 2737, 0]"]
105["Segment<br>[2664, 2737, 0]"]
106[Solid2d]
end
subgraph path107 [Path]
107["Path<br>[2795, 2868, 0]"]
108["Segment<br>[2795, 2868, 0]"]
107["Path<br>[2762, 2835, 0]"]
108["Segment<br>[2762, 2835, 0]"]
109[Solid2d]
end
subgraph path110 [Path]
110["Path<br>[2893, 2966, 0]"]
111["Segment<br>[2893, 2966, 0]"]
110["Path<br>[2860, 2933, 0]"]
111["Segment<br>[2860, 2933, 0]"]
112[Solid2d]
end
subgraph path113 [Path]
113["Path<br>[3030, 3169, 0]"]
114["Segment<br>[3030, 3169, 0]"]
113["Path<br>[2997, 3136, 0]"]
114["Segment<br>[2997, 3136, 0]"]
115[Solid2d]
end
subgraph path116 [Path]
116["Path<br>[3194, 3331, 0]"]
117["Segment<br>[3194, 3331, 0]"]
116["Path<br>[3161, 3298, 0]"]
117["Segment<br>[3161, 3298, 0]"]
118[Solid2d]
end
subgraph path119 [Path]
119["Path<br>[3356, 3503, 0]"]
120["Segment<br>[3356, 3503, 0]"]
119["Path<br>[3323, 3470, 0]"]
120["Segment<br>[3323, 3470, 0]"]
121[Solid2d]
end
subgraph path122 [Path]
122["Path<br>[3528, 3674, 0]"]
123["Segment<br>[3528, 3674, 0]"]
122["Path<br>[3495, 3641, 0]"]
123["Segment<br>[3495, 3641, 0]"]
124[Solid2d]
end
1["Plane<br>[748, 773, 0]"]
8["Plane<br>[1198, 1215, 0]"]
15["Sweep Sweep<br>[1398, 1421, 0]"]
1["Plane<br>[715, 740, 0]"]
8["Plane<br>[1165, 1182, 0]"]
15["Sweep Sweep<br>[1365, 1388, 0]"]
16[Wall]
17["Cap Start"]
18["Cap End"]
19["SweepEdge Opposite"]
20["SweepEdge Adjacent"]
21["Plane<br>[748, 773, 0]"]
28["Plane<br>[1198, 1215, 0]"]
35["Sweep Sweep<br>[1398, 1421, 0]"]
21["Plane<br>[715, 740, 0]"]
28["Plane<br>[1165, 1182, 0]"]
35["Sweep Sweep<br>[1365, 1388, 0]"]
36[Wall]
37["Cap Start"]
38["Cap End"]
39["SweepEdge Opposite"]
40["SweepEdge Adjacent"]
41["Plane<br>[748, 773, 0]"]
48["Plane<br>[1198, 1215, 0]"]
55["Sweep Sweep<br>[1398, 1421, 0]"]
41["Plane<br>[715, 740, 0]"]
48["Plane<br>[1165, 1182, 0]"]
55["Sweep Sweep<br>[1365, 1388, 0]"]
56[Wall]
57["Cap Start"]
58["Cap End"]
59["SweepEdge Opposite"]
60["SweepEdge Adjacent"]
61["Plane<br>[748, 773, 0]"]
68["Plane<br>[1198, 1215, 0]"]
75["Sweep Sweep<br>[1398, 1421, 0]"]
61["Plane<br>[715, 740, 0]"]
68["Plane<br>[1165, 1182, 0]"]
75["Sweep Sweep<br>[1365, 1388, 0]"]
76[Wall]
77["Cap Start"]
78["Cap End"]
79["SweepEdge Opposite"]
80["SweepEdge Adjacent"]
81["Plane<br>[1690, 1707, 0]"]
125["Sweep Extrusion<br>[3727, 3756, 0]"]
81["Plane<br>[1657, 1674, 0]"]
125["Sweep Extrusion<br>[3694, 3723, 0]"]
126[Wall]
127[Wall]
128[Wall]
@ -217,10 +217,10 @@ flowchart LR
173["SweepEdge Adjacent"]
174["SweepEdge Opposite"]
175["SweepEdge Adjacent"]
176["EdgeCut Fillet<br>[3762, 3896, 0]"]
177["EdgeCut Fillet<br>[3762, 3896, 0]"]
178["EdgeCut Fillet<br>[3902, 4036, 0]"]
179["EdgeCut Fillet<br>[3902, 4036, 0]"]
176["EdgeCut Fillet<br>[3729, 3863, 0]"]
177["EdgeCut Fillet<br>[3729, 3863, 0]"]
178["EdgeCut Fillet<br>[3869, 4003, 0]"]
179["EdgeCut Fillet<br>[3869, 4003, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -311,52 +311,28 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"arguments": [
{
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angle001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"callee": {
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "toRadians",
"name": "angle001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"callee": {
@ -383,52 +359,28 @@ description: Result of parsing exhaust-manifold.kcl
{
"arguments": [
{
"arguments": [
{
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "angle001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"callee": {
"argument": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "toRadians",
"name": "angle001",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name",
"type": "Name"
},
"commentStart": 0,
"end": 0,
"operator": "-",
"start": 0,
"type": "CallExpression",
"type": "CallExpression"
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"callee": {

View File

@ -14,20 +14,6 @@ description: Operations executed exhaust-manifold.kcl
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -42,20 +28,6 @@ description: Operations executed exhaust-manifold.kcl
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -331,20 +303,6 @@ description: Operations executed exhaust-manifold.kcl
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -359,20 +317,6 @@ description: Operations executed exhaust-manifold.kcl
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -648,20 +592,6 @@ description: Operations executed exhaust-manifold.kcl
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -676,20 +606,6 @@ description: Operations executed exhaust-manifold.kcl
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -965,20 +881,6 @@ description: Operations executed exhaust-manifold.kcl
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -993,20 +895,6 @@ description: Operations executed exhaust-manifold.kcl
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "toRadians",
"functionSourceRange": [],
"unlabeledArg": null,
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupBegin",
"group": {
@ -1076,7 +964,7 @@ description: Operations executed exhaust-manifold.kcl
"value": [
{
"type": "Number",
"value": -0.4257792915650726,
"value": -0.42577929156507266,
"ty": {
"type": "Known",
"type": "Count"

View File

@ -28,9 +28,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1781,
"end": 1787,
"start": 1781,
"commentStart": 1748,
"end": 1754,
"start": 1748,
"type": "TagDeclarator",
"value": "seg01"
},
@ -62,9 +62,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1955,
"end": 1961,
"start": 1955,
"commentStart": 1922,
"end": 1928,
"start": 1922,
"type": "TagDeclarator",
"value": "seg03"
},
@ -75,9 +75,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2004,
"end": 2010,
"start": 2004,
"commentStart": 1971,
"end": 1977,
"start": 1971,
"type": "TagDeclarator",
"value": "seg04"
},
@ -88,9 +88,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2043,
"end": 2049,
"start": 2043,
"commentStart": 2010,
"end": 2016,
"start": 2010,
"type": "TagDeclarator",
"value": "seg05"
},
@ -122,9 +122,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2227,
"end": 2233,
"start": 2227,
"commentStart": 2194,
"end": 2200,
"start": 2194,
"type": "TagDeclarator",
"value": "seg07"
},
@ -135,9 +135,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2284,
"end": 2290,
"start": 2284,
"commentStart": 2251,
"end": 2257,
"start": 2251,
"type": "TagDeclarator",
"value": "seg08"
},
@ -148,9 +148,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2334,
"end": 2340,
"start": 2334,
"commentStart": 2301,
"end": 2307,
"start": 2301,
"type": "TagDeclarator",
"value": "seg09"
},
@ -192,9 +192,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 1781,
"end": 1787,
"start": 1781,
"commentStart": 1748,
"end": 1754,
"start": 1748,
"type": "TagDeclarator",
"value": "seg01"
},
@ -289,9 +289,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 1955,
"end": 1961,
"start": 1955,
"commentStart": 1922,
"end": 1928,
"start": 1922,
"type": "TagDeclarator",
"value": "seg03"
},
@ -314,9 +314,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 2004,
"end": 2010,
"start": 2004,
"commentStart": 1971,
"end": 1977,
"start": 1971,
"type": "TagDeclarator",
"value": "seg04"
},
@ -339,9 +339,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2043,
"end": 2049,
"start": 2043,
"commentStart": 2010,
"end": 2016,
"start": 2010,
"type": "TagDeclarator",
"value": "seg05"
},
@ -436,9 +436,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2227,
"end": 2233,
"start": 2227,
"commentStart": 2194,
"end": 2200,
"start": 2194,
"type": "TagDeclarator",
"value": "seg07"
},
@ -461,9 +461,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
1.35
],
"tag": {
"commentStart": 2284,
"end": 2290,
"start": 2284,
"commentStart": 2251,
"end": 2257,
"start": 2251,
"type": "TagDeclarator",
"value": "seg08"
},
@ -486,9 +486,9 @@ description: Variables in memory after executing exhaust-manifold.kcl
-1.25
],
"tag": {
"commentStart": 2334,
"end": 2340,
"start": 2334,
"commentStart": 2301,
"end": 2307,
"start": 2301,
"type": "TagDeclarator",
"value": "seg09"
},