2025-03-06 18:01:24 -05:00
|
|
|
```mermaid
|
|
|
|
flowchart LR
|
|
|
|
subgraph path2 [Path]
|
2025-04-11 14:17:20 -04:00
|
|
|
2["Path<br>[1445, 1499, 0]"]
|
|
|
|
3["Segment<br>[1505, 1537, 0]"]
|
|
|
|
4["Segment<br>[1543, 1580, 0]"]
|
|
|
|
5["Segment<br>[1586, 1619, 0]"]
|
2025-04-18 17:40:44 -05:00
|
|
|
6["Segment<br>[1625, 1692, 0]"]
|
|
|
|
7["Segment<br>[1698, 1705, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
8[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path9 [Path]
|
2025-04-04 11:03:13 -07:00
|
|
|
9["Path<br>[1001, 1042, 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
|
|
|
10["Segment<br>[1050, 1090, 0]"]
|
2025-04-11 14:17:20 -04:00
|
|
|
11["Segment<br>[1098, 1144, 0]"]
|
|
|
|
12["Segment<br>[1152, 1193, 0]"]
|
|
|
|
13["Segment<br>[1201, 1266, 0]"]
|
|
|
|
14["Segment<br>[1274, 1281, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
15[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path16 [Path]
|
2025-04-04 11:03:13 -07:00
|
|
|
16["Path<br>[1001, 1042, 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
|
|
|
17["Segment<br>[1050, 1090, 0]"]
|
2025-04-11 14:17:20 -04:00
|
|
|
18["Segment<br>[1098, 1144, 0]"]
|
|
|
|
19["Segment<br>[1152, 1193, 0]"]
|
|
|
|
20["Segment<br>[1201, 1266, 0]"]
|
|
|
|
21["Segment<br>[1274, 1281, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
22[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path23 [Path]
|
2025-04-04 11:03:13 -07:00
|
|
|
23["Path<br>[1001, 1042, 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
|
|
|
24["Segment<br>[1050, 1090, 0]"]
|
2025-04-11 14:17:20 -04:00
|
|
|
25["Segment<br>[1098, 1144, 0]"]
|
|
|
|
26["Segment<br>[1152, 1193, 0]"]
|
|
|
|
27["Segment<br>[1201, 1266, 0]"]
|
|
|
|
28["Segment<br>[1274, 1281, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
29[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path49 [Path]
|
2025-04-18 17:40:44 -05:00
|
|
|
49["Path<br>[2708, 2761, 0]"]
|
|
|
|
50["Segment<br>[2767, 2826, 0]"]
|
|
|
|
51["Segment<br>[2832, 2867, 0]"]
|
|
|
|
52["Segment<br>[2873, 2906, 0]"]
|
|
|
|
53["Segment<br>[2912, 2971, 0]"]
|
|
|
|
54["Segment<br>[2977, 3013, 0]"]
|
|
|
|
55["Segment<br>[3019, 3043, 0]"]
|
|
|
|
56["Segment<br>[3049, 3056, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
57[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path83 [Path]
|
2025-04-18 17:40:44 -05:00
|
|
|
83["Path<br>[3651, 3698, 0]"]
|
|
|
|
84["Segment<br>[3704, 3754, 0]"]
|
|
|
|
85["Segment<br>[3760, 3826, 0]"]
|
|
|
|
86["Segment<br>[3832, 3883, 0]"]
|
|
|
|
87["Segment<br>[3889, 3954, 0]"]
|
|
|
|
88["Segment<br>[3960, 4013, 0]"]
|
|
|
|
89["Segment<br>[4019, 4086, 0]"]
|
|
|
|
90["Segment<br>[4092, 4166, 0]"]
|
|
|
|
91["Segment<br>[4172, 4240, 0]"]
|
|
|
|
92["Segment<br>[4246, 4253, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
93[Solid2d]
|
|
|
|
end
|
|
|
|
subgraph path121 [Path]
|
2025-04-04 11:03:13 -07:00
|
|
|
121["Path<br>[1001, 1042, 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
|
|
|
122["Segment<br>[1050, 1090, 0]"]
|
2025-04-11 14:17:20 -04:00
|
|
|
123["Segment<br>[1098, 1144, 0]"]
|
|
|
|
124["Segment<br>[1152, 1193, 0]"]
|
|
|
|
125["Segment<br>[1201, 1266, 0]"]
|
|
|
|
126["Segment<br>[1274, 1281, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
127[Solid2d]
|
|
|
|
end
|
2025-04-11 14:17:20 -04:00
|
|
|
1["Plane<br>[1374, 1391, 0]"]
|
2025-04-18 17:40:44 -05:00
|
|
|
30["Sweep Extrusion<br>[2280, 2330, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
31[Wall]
|
|
|
|
32[Wall]
|
|
|
|
33[Wall]
|
|
|
|
34[Wall]
|
|
|
|
35[Wall]
|
|
|
|
36["Cap Start"]
|
|
|
|
37["Cap End"]
|
|
|
|
38["SweepEdge Opposite"]
|
|
|
|
39["SweepEdge Adjacent"]
|
|
|
|
40["SweepEdge Opposite"]
|
|
|
|
41["SweepEdge Adjacent"]
|
|
|
|
42["SweepEdge Opposite"]
|
|
|
|
43["SweepEdge Adjacent"]
|
|
|
|
44["SweepEdge Opposite"]
|
|
|
|
45["SweepEdge Adjacent"]
|
|
|
|
46["SweepEdge Opposite"]
|
|
|
|
47["SweepEdge Adjacent"]
|
2025-04-18 17:40:44 -05:00
|
|
|
48["Plane<br>[2605, 2647, 0]"]
|
|
|
|
58["Sweep Extrusion<br>[3090, 3134, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
59[Wall]
|
|
|
|
60[Wall]
|
|
|
|
61[Wall]
|
|
|
|
62[Wall]
|
|
|
|
63[Wall]
|
|
|
|
64[Wall]
|
|
|
|
65[Wall]
|
|
|
|
66["Cap Start"]
|
|
|
|
67["Cap End"]
|
|
|
|
68["SweepEdge Opposite"]
|
|
|
|
69["SweepEdge Adjacent"]
|
|
|
|
70["SweepEdge Opposite"]
|
|
|
|
71["SweepEdge Adjacent"]
|
|
|
|
72["SweepEdge Opposite"]
|
|
|
|
73["SweepEdge Adjacent"]
|
|
|
|
74["SweepEdge Opposite"]
|
|
|
|
75["SweepEdge Adjacent"]
|
|
|
|
76["SweepEdge Opposite"]
|
|
|
|
77["SweepEdge Adjacent"]
|
|
|
|
78["SweepEdge Opposite"]
|
|
|
|
79["SweepEdge Adjacent"]
|
|
|
|
80["SweepEdge Opposite"]
|
|
|
|
81["SweepEdge Adjacent"]
|
2025-04-18 17:40:44 -05:00
|
|
|
82["Plane<br>[3577, 3603, 0]"]
|
|
|
|
94["Sweep Extrusion<br>[4309, 4351, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
95[Wall]
|
|
|
|
96[Wall]
|
|
|
|
97[Wall]
|
|
|
|
98[Wall]
|
|
|
|
99[Wall]
|
|
|
|
100[Wall]
|
|
|
|
101[Wall]
|
|
|
|
102[Wall]
|
|
|
|
103["Cap Start"]
|
|
|
|
104["Cap End"]
|
|
|
|
105["SweepEdge Opposite"]
|
|
|
|
106["SweepEdge Adjacent"]
|
|
|
|
107["SweepEdge Opposite"]
|
|
|
|
108["SweepEdge Adjacent"]
|
|
|
|
109["SweepEdge Opposite"]
|
|
|
|
110["SweepEdge Adjacent"]
|
|
|
|
111["SweepEdge Opposite"]
|
|
|
|
112["SweepEdge Adjacent"]
|
|
|
|
113["SweepEdge Opposite"]
|
|
|
|
114["SweepEdge Adjacent"]
|
|
|
|
115["SweepEdge Opposite"]
|
|
|
|
116["SweepEdge Adjacent"]
|
|
|
|
117["SweepEdge Opposite"]
|
|
|
|
118["SweepEdge Adjacent"]
|
|
|
|
119["SweepEdge Opposite"]
|
|
|
|
120["SweepEdge Adjacent"]
|
2025-04-18 17:40:44 -05:00
|
|
|
128["Sweep Extrusion<br>[4586, 4636, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
129[Wall]
|
|
|
|
130[Wall]
|
|
|
|
131[Wall]
|
|
|
|
132[Wall]
|
|
|
|
133["SweepEdge Opposite"]
|
|
|
|
134["SweepEdge Adjacent"]
|
|
|
|
135["SweepEdge Opposite"]
|
|
|
|
136["SweepEdge Adjacent"]
|
|
|
|
137["SweepEdge Opposite"]
|
|
|
|
138["SweepEdge Adjacent"]
|
|
|
|
139["SweepEdge Opposite"]
|
|
|
|
140["SweepEdge Adjacent"]
|
2025-04-18 17:40:44 -05:00
|
|
|
141["EdgeCut Fillet<br>[2367, 2508, 0]"]
|
|
|
|
142["EdgeCut Fillet<br>[2367, 2508, 0]"]
|
|
|
|
143["EdgeCut Fillet<br>[3177, 3308, 0]"]
|
|
|
|
144["EdgeCut Fillet<br>[3177, 3308, 0]"]
|
|
|
|
145["StartSketchOnPlane<br>[2591, 2648, 0]"]
|
|
|
|
146["StartSketchOnFace<br>[4410, 4449, 0]"]
|
2025-03-06 18:01:24 -05:00
|
|
|
1 --- 2
|
|
|
|
1 --- 9
|
|
|
|
1 --- 16
|
|
|
|
1 --- 23
|
|
|
|
2 --- 3
|
|
|
|
2 --- 4
|
|
|
|
2 --- 5
|
|
|
|
2 --- 6
|
|
|
|
2 --- 7
|
|
|
|
2 ---- 30
|
|
|
|
2 --- 8
|
|
|
|
3 --- 31
|
|
|
|
3 --- 38
|
|
|
|
3 --- 39
|
|
|
|
4 --- 32
|
|
|
|
4 --- 40
|
|
|
|
4 --- 41
|
|
|
|
5 --- 33
|
|
|
|
5 --- 42
|
|
|
|
5 --- 43
|
|
|
|
6 --- 34
|
|
|
|
6 --- 44
|
|
|
|
6 --- 45
|
|
|
|
7 --- 35
|
|
|
|
7 --- 46
|
|
|
|
7 --- 47
|
|
|
|
9 --- 10
|
|
|
|
9 --- 11
|
|
|
|
9 --- 12
|
|
|
|
9 --- 13
|
|
|
|
9 --- 14
|
|
|
|
9 --- 15
|
|
|
|
16 --- 17
|
|
|
|
16 --- 18
|
|
|
|
16 --- 19
|
|
|
|
16 --- 20
|
|
|
|
16 --- 21
|
|
|
|
16 --- 22
|
|
|
|
23 --- 24
|
|
|
|
23 --- 25
|
|
|
|
23 --- 26
|
|
|
|
23 --- 27
|
|
|
|
23 --- 28
|
|
|
|
23 --- 29
|
|
|
|
30 --- 31
|
|
|
|
30 --- 32
|
|
|
|
30 --- 33
|
|
|
|
30 --- 34
|
|
|
|
30 --- 35
|
|
|
|
30 --- 36
|
|
|
|
30 --- 37
|
|
|
|
30 --- 38
|
|
|
|
30 --- 39
|
|
|
|
30 --- 40
|
|
|
|
30 --- 41
|
|
|
|
30 --- 42
|
|
|
|
30 --- 43
|
|
|
|
30 --- 44
|
|
|
|
30 --- 45
|
|
|
|
30 --- 46
|
|
|
|
30 --- 47
|
|
|
|
48 --- 49
|
|
|
|
49 --- 50
|
|
|
|
49 --- 51
|
|
|
|
49 --- 52
|
|
|
|
49 --- 53
|
|
|
|
49 --- 54
|
|
|
|
49 --- 55
|
|
|
|
49 --- 56
|
|
|
|
49 ---- 58
|
|
|
|
49 --- 57
|
|
|
|
50 --- 59
|
|
|
|
50 --- 68
|
|
|
|
50 --- 69
|
|
|
|
51 --- 60
|
|
|
|
51 --- 70
|
|
|
|
51 --- 71
|
|
|
|
52 --- 61
|
|
|
|
52 --- 72
|
|
|
|
52 --- 73
|
|
|
|
53 --- 62
|
|
|
|
53 --- 74
|
|
|
|
53 --- 75
|
|
|
|
54 --- 63
|
|
|
|
54 --- 76
|
|
|
|
54 --- 77
|
|
|
|
55 --- 64
|
|
|
|
55 --- 78
|
|
|
|
55 --- 79
|
|
|
|
56 --- 65
|
|
|
|
56 --- 80
|
|
|
|
56 --- 81
|
|
|
|
58 --- 59
|
|
|
|
58 --- 60
|
|
|
|
58 --- 61
|
|
|
|
58 --- 62
|
|
|
|
58 --- 63
|
|
|
|
58 --- 64
|
|
|
|
58 --- 65
|
|
|
|
58 --- 66
|
|
|
|
58 --- 67
|
|
|
|
58 --- 68
|
|
|
|
58 --- 69
|
|
|
|
58 --- 70
|
|
|
|
58 --- 71
|
|
|
|
58 --- 72
|
|
|
|
58 --- 73
|
|
|
|
58 --- 74
|
|
|
|
58 --- 75
|
|
|
|
58 --- 76
|
|
|
|
58 --- 77
|
|
|
|
58 --- 78
|
|
|
|
58 --- 79
|
|
|
|
58 --- 80
|
|
|
|
58 --- 81
|
|
|
|
82 --- 83
|
|
|
|
83 --- 84
|
|
|
|
83 --- 85
|
|
|
|
83 --- 86
|
|
|
|
83 --- 87
|
|
|
|
83 --- 88
|
|
|
|
83 --- 89
|
|
|
|
83 --- 90
|
|
|
|
83 --- 91
|
|
|
|
83 --- 92
|
|
|
|
83 ---- 94
|
|
|
|
83 --- 93
|
|
|
|
84 --- 95
|
|
|
|
84 --- 105
|
|
|
|
84 --- 106
|
|
|
|
85 --- 96
|
|
|
|
85 --- 107
|
|
|
|
85 --- 108
|
|
|
|
86 --- 97
|
|
|
|
86 --- 109
|
|
|
|
86 --- 110
|
|
|
|
87 --- 98
|
|
|
|
87 --- 111
|
|
|
|
87 --- 112
|
|
|
|
88 --- 99
|
|
|
|
88 --- 113
|
|
|
|
88 --- 114
|
|
|
|
89 --- 100
|
|
|
|
89 --- 115
|
|
|
|
89 --- 116
|
|
|
|
90 --- 101
|
|
|
|
90 --- 117
|
|
|
|
90 --- 118
|
|
|
|
91 --- 102
|
|
|
|
91 --- 119
|
|
|
|
91 --- 120
|
|
|
|
94 --- 95
|
|
|
|
94 --- 96
|
|
|
|
94 --- 97
|
|
|
|
94 --- 98
|
|
|
|
94 --- 99
|
|
|
|
94 --- 100
|
|
|
|
94 --- 101
|
|
|
|
94 --- 102
|
|
|
|
94 --- 103
|
|
|
|
94 --- 104
|
|
|
|
94 --- 105
|
|
|
|
94 --- 106
|
|
|
|
94 --- 107
|
|
|
|
94 --- 108
|
|
|
|
94 --- 109
|
|
|
|
94 --- 110
|
|
|
|
94 --- 111
|
|
|
|
94 --- 112
|
|
|
|
94 --- 113
|
|
|
|
94 --- 114
|
|
|
|
94 --- 115
|
|
|
|
94 --- 116
|
|
|
|
94 --- 117
|
|
|
|
94 --- 118
|
|
|
|
94 --- 119
|
|
|
|
94 --- 120
|
|
|
|
101 --- 121
|
|
|
|
121 --- 122
|
|
|
|
121 --- 123
|
|
|
|
121 --- 124
|
|
|
|
121 --- 125
|
|
|
|
121 --- 126
|
|
|
|
121 ---- 128
|
|
|
|
121 --- 127
|
|
|
|
122 --- 129
|
|
|
|
122 --- 133
|
|
|
|
122 --- 134
|
|
|
|
123 --- 130
|
|
|
|
123 --- 135
|
|
|
|
123 --- 136
|
|
|
|
124 --- 131
|
|
|
|
124 --- 137
|
|
|
|
124 --- 138
|
|
|
|
125 --- 132
|
|
|
|
125 --- 139
|
|
|
|
125 --- 140
|
|
|
|
128 --- 129
|
|
|
|
128 --- 130
|
|
|
|
128 --- 131
|
|
|
|
128 --- 132
|
|
|
|
128 --- 133
|
|
|
|
128 --- 134
|
|
|
|
128 --- 135
|
|
|
|
128 --- 136
|
|
|
|
128 --- 137
|
|
|
|
128 --- 138
|
|
|
|
128 --- 139
|
|
|
|
128 --- 140
|
|
|
|
41 <--x 141
|
|
|
|
39 <--x 142
|
|
|
|
69 <--x 143
|
|
|
|
75 <--x 144
|
|
|
|
48 <--x 145
|
|
|
|
101 <--x 146
|
|
|
|
```
|