2025-03-06 18:01:24 -05:00
|
|
|
```mermaid
|
|
|
|
flowchart LR
|
|
|
|
subgraph path2 [Path]
|
2025-04-04 11:03:13 -07:00
|
|
|
2["Path<br>[287, 312, 0]"]
|
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
|
|
|
3["Segment<br>[318, 384, 0]"]
|
|
|
|
4["Segment<br>[390, 489, 0]"]
|
|
|
|
5["Segment<br>[495, 612, 0]"]
|
|
|
|
6["Segment<br>[618, 703, 0]"]
|
|
|
|
7["Segment<br>[709, 716, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
8[Solid2d]
|
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path25 [Path]
|
|
|
|
25["Path<br>[1597, 1680, 0]"]
|
|
|
|
26["Segment<br>[1597, 1680, 0]"]
|
|
|
|
27[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path28 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
28["Path<br>[1706, 1773, 0]"]
|
|
|
|
29["Segment<br>[1706, 1773, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
30[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path36 [Path]
|
|
|
|
36["Path<br>[1597, 1680, 0]"]
|
|
|
|
37["Segment<br>[1597, 1680, 0]"]
|
|
|
|
38[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path39 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
39["Path<br>[1706, 1773, 0]"]
|
|
|
|
40["Segment<br>[1706, 1773, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
41[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path47 [Path]
|
|
|
|
47["Path<br>[1597, 1680, 0]"]
|
|
|
|
48["Segment<br>[1597, 1680, 0]"]
|
|
|
|
49[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path50 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
50["Path<br>[1706, 1773, 0]"]
|
|
|
|
51["Segment<br>[1706, 1773, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
52[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
|
|
|
subgraph path58 [Path]
|
2025-04-26 14:00:28 +10:00
|
|
|
58["Path<br>[1597, 1680, 0]"]
|
|
|
|
59["Segment<br>[1597, 1680, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
60[Solid2d]
|
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path61 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
61["Path<br>[1706, 1773, 0]"]
|
|
|
|
62["Segment<br>[1706, 1773, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
63[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path69 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
69["Path<br>[2341, 2376, 0]"]
|
|
|
|
70["Segment<br>[2382, 2448, 0]"]
|
|
|
|
71["Segment<br>[2454, 2553, 0]"]
|
|
|
|
72["Segment<br>[2559, 2676, 0]"]
|
|
|
|
73["Segment<br>[2682, 2767, 0]"]
|
|
|
|
74["Segment<br>[2773, 2780, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
75[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path76 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
76["Path<br>[2804, 2960, 0]"]
|
|
|
|
77["Segment<br>[2804, 2960, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
78[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path79 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
79["Path<br>[2985, 3152, 0]"]
|
|
|
|
80["Segment<br>[2985, 3152, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
81[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path82 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
82["Path<br>[3177, 3335, 0]"]
|
|
|
|
83["Segment<br>[3177, 3335, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
84[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path85 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
85["Path<br>[3360, 3529, 0]"]
|
|
|
|
86["Segment<br>[3360, 3529, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
87[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path103 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
103["Path<br>[3972, 4056, 0]"]
|
|
|
|
104["Segment<br>[4062, 4150, 0]"]
|
|
|
|
105["Segment<br>[4156, 4277, 0]"]
|
|
|
|
106["Segment<br>[4283, 4400, 0]"]
|
|
|
|
107["Segment<br>[4406, 4491, 0]"]
|
|
|
|
108["Segment<br>[4497, 4504, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
109[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path110 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
110["Path<br>[4528, 4700, 0]"]
|
|
|
|
111["Segment<br>[4528, 4700, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
112[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path113 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
113["Path<br>[4725, 4908, 0]"]
|
|
|
|
114["Segment<br>[4725, 4908, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
115[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path116 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
116["Path<br>[4933, 5107, 0]"]
|
|
|
|
117["Segment<br>[4933, 5107, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
118[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-26 14:00:28 +10:00
|
|
|
subgraph path119 [Path]
|
2025-04-26 15:31:51 -05:00
|
|
|
119["Path<br>[5132, 5317, 0]"]
|
|
|
|
120["Segment<br>[5132, 5317, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
121[Solid2d]
|
2025-03-06 18:01:24 -05:00
|
|
|
end
|
2025-04-04 11:03:13 -07:00
|
|
|
1["Plane<br>[264, 281, 0]"]
|
KCL: Angled line should use keyword args (#5803)
We continue migrating KCL stdlib functions to use keyword arguments. Next up is the `angledLine` family of functions (except `angledLineThatIntersects, which will be a quick follow-up).
Before vs. after:
`angledLine({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, length = 3, tag = $edge)`
`angledLineOfXLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthX = 3, tag = $edge)`
`angledLineOfYLength({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, lengthY = 3, tag = $edge)`
`angledLineToX({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteX = 3, tag = $edge)`
`angledLineToY({angle = 90, length = 3}, %, $edge)`
=> `angledLine(angle = 90, endAbsoluteY = 3, tag = $edge)`
2025-04-09 14:55:15 -05:00
|
|
|
9["Sweep Extrusion<br>[730, 765, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
10[Wall]
|
|
|
|
11[Wall]
|
|
|
|
12[Wall]
|
|
|
|
13[Wall]
|
|
|
|
14["Cap Start"]
|
|
|
|
15["Cap End"]
|
|
|
|
16["SweepEdge Opposite"]
|
2025-04-26 14:00:28 +10:00
|
|
|
17["SweepEdge Opposite"]
|
2025-03-06 18:01:24 -05:00
|
|
|
18["SweepEdge Opposite"]
|
|
|
|
19["SweepEdge Adjacent"]
|
2025-04-26 14:00:28 +10:00
|
|
|
20["EdgeCut Fillet<br>[771, 1053, 0]"]
|
|
|
|
21["EdgeCut Fillet<br>[771, 1053, 0]"]
|
|
|
|
22["EdgeCut Fillet<br>[771, 1053, 0]"]
|
|
|
|
23["EdgeCut Fillet<br>[771, 1053, 0]"]
|
|
|
|
24["Plane<br>[1566, 1589, 0]"]
|
2025-04-26 15:31:51 -05:00
|
|
|
31["Sweep Extrusion<br>[1790, 1841, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
32[Wall]
|
|
|
|
33["Cap Start"]
|
|
|
|
34["Cap End"]
|
|
|
|
35["Plane<br>[1566, 1589, 0]"]
|
2025-04-26 15:31:51 -05:00
|
|
|
42["Sweep Extrusion<br>[1790, 1841, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
43[Wall]
|
|
|
|
44["Cap Start"]
|
|
|
|
45["Cap End"]
|
|
|
|
46["Plane<br>[1566, 1589, 0]"]
|
2025-04-26 15:31:51 -05:00
|
|
|
53["Sweep Extrusion<br>[1790, 1841, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
54[Wall]
|
|
|
|
55["Cap Start"]
|
|
|
|
56["Cap End"]
|
|
|
|
57["Plane<br>[1566, 1589, 0]"]
|
2025-04-26 15:31:51 -05:00
|
|
|
64["Sweep Extrusion<br>[1790, 1841, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
65[Wall]
|
|
|
|
66["Cap Start"]
|
|
|
|
67["Cap End"]
|
2025-04-26 15:31:51 -05:00
|
|
|
68["Plane<br>[2318, 2335, 0]"]
|
|
|
|
88["Sweep Extrusion<br>[3544, 3586, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
89[Wall]
|
|
|
|
90[Wall]
|
|
|
|
91[Wall]
|
|
|
|
92[Wall]
|
|
|
|
93["Cap Start"]
|
|
|
|
94["Cap End"]
|
|
|
|
95["SweepEdge Opposite"]
|
|
|
|
96["SweepEdge Opposite"]
|
|
|
|
97["SweepEdge Opposite"]
|
|
|
|
98["SweepEdge Adjacent"]
|
2025-04-26 15:31:51 -05:00
|
|
|
99["EdgeCut Fillet<br>[3592, 3874, 0]"]
|
|
|
|
100["EdgeCut Fillet<br>[3592, 3874, 0]"]
|
|
|
|
101["EdgeCut Fillet<br>[3592, 3874, 0]"]
|
|
|
|
102["EdgeCut Fillet<br>[3592, 3874, 0]"]
|
|
|
|
122["Sweep Extrusion<br>[5332, 5374, 0]"]
|
2025-04-26 14:00:28 +10:00
|
|
|
123[Wall]
|
|
|
|
124[Wall]
|
|
|
|
125[Wall]
|
|
|
|
126[Wall]
|
|
|
|
127["Cap Start"]
|
|
|
|
128["Cap End"]
|
|
|
|
129["SweepEdge Opposite"]
|
|
|
|
130["SweepEdge Opposite"]
|
|
|
|
131["SweepEdge Opposite"]
|
|
|
|
132["SweepEdge Adjacent"]
|
2025-04-26 15:31:51 -05:00
|
|
|
133["EdgeCut Fillet<br>[5380, 5662, 0]"]
|
|
|
|
134["EdgeCut Fillet<br>[5380, 5662, 0]"]
|
|
|
|
135["EdgeCut Fillet<br>[5380, 5662, 0]"]
|
|
|
|
136["EdgeCut Fillet<br>[5380, 5662, 0]"]
|
|
|
|
137["StartSketchOnFace<br>[3929, 3966, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
1 --- 2
|
|
|
|
2 --- 3
|
|
|
|
2 --- 4
|
|
|
|
2 --- 5
|
|
|
|
2 --- 6
|
|
|
|
2 --- 7
|
|
|
|
2 ---- 9
|
|
|
|
2 --- 8
|
|
|
|
3 --- 10
|
2025-04-26 14:00:28 +10:00
|
|
|
3 --- 19
|
|
|
|
3 x--> 14
|
2025-03-06 18:01:24 -05:00
|
|
|
4 --- 11
|
2025-04-26 14:00:28 +10:00
|
|
|
4 --- 16
|
|
|
|
4 x--> 14
|
2025-03-06 18:01:24 -05:00
|
|
|
5 --- 12
|
2025-04-26 14:00:28 +10:00
|
|
|
5 --- 17
|
|
|
|
5 x--> 14
|
2025-03-06 18:01:24 -05:00
|
|
|
6 --- 13
|
2025-04-26 14:00:28 +10:00
|
|
|
6 --- 18
|
|
|
|
6 x--> 14
|
2025-03-06 18:01:24 -05:00
|
|
|
9 --- 10
|
|
|
|
9 --- 11
|
|
|
|
9 --- 12
|
|
|
|
9 --- 13
|
|
|
|
9 --- 14
|
|
|
|
9 --- 15
|
|
|
|
9 --- 16
|
|
|
|
9 --- 17
|
|
|
|
9 --- 18
|
|
|
|
9 --- 19
|
2025-04-26 14:00:28 +10:00
|
|
|
16 <--x 11
|
|
|
|
16 <--x 15
|
|
|
|
17 <--x 12
|
|
|
|
17 <--x 15
|
|
|
|
18 <--x 13
|
|
|
|
18 <--x 15
|
|
|
|
19 <--x 20
|
|
|
|
24 --- 25
|
|
|
|
24 --- 28
|
|
|
|
25 --- 26
|
|
|
|
25 ---- 31
|
|
|
|
25 --- 27
|
|
|
|
26 --- 32
|
|
|
|
26 x--> 33
|
2025-03-06 18:01:24 -05:00
|
|
|
28 --- 29
|
2025-04-26 14:00:28 +10:00
|
|
|
28 --- 30
|
|
|
|
31 --- 32
|
|
|
|
31 --- 33
|
|
|
|
31 --- 34
|
2025-03-06 18:01:24 -05:00
|
|
|
35 --- 36
|
|
|
|
35 --- 39
|
2025-04-26 14:00:28 +10:00
|
|
|
36 --- 37
|
|
|
|
36 ---- 42
|
|
|
|
36 --- 38
|
|
|
|
37 --- 43
|
|
|
|
37 x--> 44
|
|
|
|
39 --- 40
|
|
|
|
39 --- 41
|
2025-03-06 18:01:24 -05:00
|
|
|
42 --- 43
|
|
|
|
42 --- 44
|
2025-04-26 14:00:28 +10:00
|
|
|
42 --- 45
|
|
|
|
46 --- 47
|
|
|
|
46 --- 50
|
|
|
|
47 --- 48
|
|
|
|
47 ---- 53
|
|
|
|
47 --- 49
|
|
|
|
48 --- 54
|
|
|
|
48 x--> 55
|
|
|
|
50 --- 51
|
|
|
|
50 --- 52
|
|
|
|
53 --- 54
|
|
|
|
53 --- 55
|
|
|
|
53 --- 56
|
|
|
|
57 --- 58
|
|
|
|
57 --- 61
|
2025-03-06 18:01:24 -05:00
|
|
|
58 --- 59
|
2025-04-26 14:00:28 +10:00
|
|
|
58 ---- 64
|
2025-03-06 18:01:24 -05:00
|
|
|
58 --- 60
|
2025-04-26 14:00:28 +10:00
|
|
|
59 --- 65
|
|
|
|
59 x--> 66
|
2025-03-06 18:01:24 -05:00
|
|
|
61 --- 62
|
|
|
|
61 --- 63
|
2025-04-26 14:00:28 +10:00
|
|
|
64 --- 65
|
|
|
|
64 --- 66
|
|
|
|
64 --- 67
|
2025-03-06 18:01:24 -05:00
|
|
|
68 --- 69
|
2025-04-26 14:00:28 +10:00
|
|
|
68 --- 76
|
|
|
|
68 --- 79
|
|
|
|
68 --- 82
|
|
|
|
68 --- 85
|
|
|
|
69 --- 70
|
|
|
|
69 --- 71
|
|
|
|
69 --- 72
|
|
|
|
69 --- 73
|
|
|
|
69 --- 74
|
|
|
|
69 ---- 88
|
2025-03-06 18:01:24 -05:00
|
|
|
69 --- 75
|
2025-04-26 14:00:28 +10:00
|
|
|
70 --- 89
|
|
|
|
70 --- 98
|
|
|
|
70 x--> 93
|
|
|
|
71 --- 90
|
|
|
|
71 --- 95
|
|
|
|
71 x--> 93
|
|
|
|
72 --- 91
|
|
|
|
72 --- 96
|
|
|
|
72 x--> 93
|
|
|
|
73 --- 92
|
|
|
|
73 --- 97
|
|
|
|
73 x--> 93
|
|
|
|
76 --- 77
|
|
|
|
76 --- 78
|
|
|
|
79 --- 80
|
|
|
|
79 --- 81
|
|
|
|
82 --- 83
|
|
|
|
82 --- 84
|
|
|
|
85 --- 86
|
|
|
|
85 --- 87
|
2025-03-06 18:01:24 -05:00
|
|
|
88 --- 89
|
|
|
|
88 --- 90
|
2025-04-26 14:00:28 +10:00
|
|
|
88 --- 91
|
|
|
|
88 --- 92
|
|
|
|
88 --- 93
|
|
|
|
88 --- 94
|
|
|
|
88 --- 95
|
|
|
|
88 --- 96
|
|
|
|
88 --- 97
|
|
|
|
88 --- 98
|
|
|
|
94 --- 103
|
|
|
|
94 --- 110
|
|
|
|
94 --- 113
|
|
|
|
94 --- 116
|
|
|
|
94 --- 119
|
|
|
|
95 <--x 90
|
|
|
|
95 <--x 94
|
|
|
|
96 <--x 91
|
|
|
|
96 <--x 94
|
|
|
|
97 <--x 92
|
|
|
|
97 <--x 94
|
|
|
|
98 <--x 99
|
|
|
|
103 --- 104
|
|
|
|
103 --- 105
|
|
|
|
103 --- 106
|
|
|
|
103 --- 107
|
|
|
|
103 --- 108
|
|
|
|
103 ---- 122
|
|
|
|
103 --- 109
|
|
|
|
104 --- 123
|
|
|
|
104 --- 132
|
|
|
|
104 x--> 127
|
|
|
|
105 --- 124
|
|
|
|
105 --- 129
|
|
|
|
105 x--> 127
|
|
|
|
106 --- 125
|
|
|
|
106 --- 130
|
|
|
|
106 x--> 127
|
|
|
|
107 --- 126
|
|
|
|
107 --- 131
|
|
|
|
107 x--> 127
|
|
|
|
110 --- 111
|
|
|
|
110 --- 112
|
|
|
|
113 --- 114
|
|
|
|
113 --- 115
|
|
|
|
116 --- 117
|
|
|
|
116 --- 118
|
2025-03-06 18:01:24 -05:00
|
|
|
119 --- 120
|
|
|
|
119 --- 121
|
2025-04-26 14:00:28 +10:00
|
|
|
122 --- 123
|
|
|
|
122 --- 124
|
|
|
|
122 --- 125
|
|
|
|
122 --- 126
|
|
|
|
122 --- 127
|
|
|
|
122 --- 128
|
|
|
|
122 --- 129
|
|
|
|
122 --- 130
|
|
|
|
122 --- 131
|
|
|
|
122 --- 132
|
|
|
|
129 <--x 124
|
|
|
|
129 <--x 128
|
|
|
|
130 <--x 125
|
|
|
|
130 <--x 128
|
|
|
|
131 <--x 126
|
|
|
|
131 <--x 128
|
|
|
|
132 <--x 133
|
|
|
|
94 <--x 137
|
2025-03-06 18:01:24 -05:00
|
|
|
```
|