Sign in with STEVE

steve/t-slot-extrusion

T-slot aluminium extrusions with real cross-sections (2020, 2040, 3030, 3060, 4040, 4080; slot 5, 6, 8), any length.

v2.0.0 Latest STEVE MIT 1

Not affiliated with or endorsed by MISUMI.

Isometric
part.py 579 lines · Python · STEVE runtime · checked
Download
1"""T-slot aluminium extrusion profiles, any length: the real cross-sections of nine common 20, 30 and 40 mm series
2profiles (B-type slot 6/8, I-type slot 5/8, item-compatible, Misumi HFS6), measured from published FreeCAD-library models.
3
4The section, centred on the origin in the XY plane (the longer side along Y), is extruded along +Z by `length`. Each
5section is the reference model's own outline at mid-length: lines and arcs (each arc given by its midpoint), loops in
6order, the first the outside and the rest the cavities and bores. See the README for the models and their authors.
7"""
8import cadquery as cq
9
10from steve import Model
11
12profile = "2020-B6" # Profile
13length = 100 # mm Length
14finish = "clear" # Anodising
15
16# mm. Measured on each reference model's cross-section at mid-length (OCCT section of the STEP model, every edge read
17# exactly: line ends, and each arc's ends and midpoint), centred on the section's bounding box, rounded to 1e-4 mm.
18# A loop: x0, y0, then ("L", x, y) a line to, ("A", xm, ym, x, y) an arc through (xm, ym) to; ("C", cx, cy, r) a circle.
19# The 4080L model's eight spline edges (slot entry rounds) are drawn as 16 chords each (within 0.01 mm).
20PROFILES = {
21 # 2020-B6: FreeCAD-library "Profile-20x20-B-Type_Slot6_A.step" (mathis (Int-Circuit), CC-BY-3.0),
22 # step.parts profile_2020_b_slot6_a: section 20 x 20,
23 # area 174.3364 mm^2 on the model
24 "2020-B6": [
25 [10.0, 9.0, ('L', 10.0, 3.4), ('L', 9.6, 3.4), ('L', 9.6, 3.0), ('L', 8.5, 3.0), ('L', 8.5, 6.0),
26 ('L', 7.0, 6.0), ('L', 4.7, 3.35), ('L', 4.7, 0.65), ('L', 4.3, 0.0), ('L', 4.7, -0.65), ('L', 4.7, -3.35),
27 ('L', 7.0, -6.0), ('L', 8.5, -6.0), ('L', 8.5, -3.0), ('L', 9.6, -3.0), ('L', 9.6, -3.4), ('L', 10.0, -3.4),
28 ('L', 10.0, -9.0), ('A', 9.7071, -9.7071, 9.0, -10.0), ('L', 3.4, -10.0), ('L', 3.4, -9.6), ('L', 3.0, -9.6),
29 ('L', 3.0, -8.5), ('L', 6.0, -8.5), ('L', 6.0, -7.0), ('L', 3.35, -4.7), ('L', 0.65, -4.7), ('L', 0.0, -4.3),
30 ('L', -0.65, -4.7), ('L', -3.35, -4.7), ('L', -6.0, -7.0), ('L', -6.0, -8.5), ('L', -3.0, -8.5),
31 ('L', -3.0, -9.6), ('L', -3.4, -9.6), ('L', -3.4, -10.0), ('L', -9.0, -10.0),
32 ('A', -9.7071, -9.7071, -10.0, -9.0), ('L', -10.0, -3.4), ('L', -9.6, -3.4), ('L', -9.6, -3.0),
33 ('L', -8.5, -3.0), ('L', -8.5, -6.0), ('L', -7.0, -6.0), ('L', -4.7, -3.35), ('L', -4.7, -0.65),
34 ('L', -4.3, 0.0), ('L', -4.7, 0.65), ('L', -4.7, 3.35), ('L', -7.0, 6.0), ('L', -8.5, 6.0), ('L', -8.5, 3.0),
35 ('L', -9.6, 3.0), ('L', -9.6, 3.4), ('L', -10.0, 3.4), ('L', -10.0, 9.0), ('A', -9.7071, 9.7071, -9.0, 10.0),
36 ('L', -3.4, 10.0), ('L', -3.4, 9.6), ('L', -3.0, 9.6), ('L', -3.0, 8.5), ('L', -6.0, 8.5), ('L', -6.0, 7.0),
37 ('L', -3.35, 4.7), ('L', -0.65, 4.7), ('L', 0.0, 4.3), ('L', 0.65, 4.7), ('L', 3.35, 4.7), ('L', 6.0, 7.0),
38 ('L', 6.0, 8.5), ('L', 3.0, 8.5), ('L', 3.0, 9.6), ('L', 3.4, 9.6), ('L', 3.4, 10.0), ('L', 9.0, 10.0),
39 ('A', 9.7071, 9.7071, 10.0, 9.0)],
40 [1.3405, 2.4012, ('A', 0.6926, 2.6614, 0.0, 2.75), ('A', -0.6926, 2.6614, -1.3405, 2.4012),
41 ('L', -1.9445, 3.0052), ('L', -2.4749, 2.4749), ('L', -3.0052, 1.9445), ('L', -2.4012, 1.3405),
42 ('A', -2.6614, 0.6926, -2.75, 0.0), ('A', -2.6614, -0.6926, -2.4012, -1.3405), ('L', -3.0052, -1.9445),
43 ('L', -2.4749, -2.4749), ('L', -1.9445, -3.0052), ('L', -1.3405, -2.4012),
44 ('A', -0.6926, -2.6614, 0.0, -2.75), ('A', 0.6926, -2.6614, 1.3405, -2.4012), ('L', 1.9445, -3.0052),
45 ('L', 2.4749, -2.4749), ('L', 3.0052, -1.9445), ('L', 2.4012, -1.3405), ('A', 2.6614, -0.6926, 2.75, 0.0),
46 ('A', 2.6614, 0.6926, 2.4012, 1.3405), ('L', 3.0052, 1.9445), ('L', 2.4749, 2.4749), ('L', 1.9445, 3.0052),
47 ('L', 1.3405, 2.4012)],
48 ],
49 # 2020-I5: FreeCAD-library "Profile-20x20-I-Type_Slot5.step" (mathis (Int-Circuit), CC-BY-3.0),
50 # step.parts profile_2020_i_slot5: section 20 x 20,
51 # area 171.991 mm^2 on the model
52 "2020-I5": [
53 [5.3295, -8.2, ('L', 3.1595, -8.2), ('A', 2.9473, -8.2879, 2.8595, -8.5), ('L', 2.8595, -9.2),
54 ('A', 3.0938, -9.7657, 3.6595, -10.0), ('L', 8.2895, -10.0), ('A', 9.499, -9.499, 10.0, -8.2895),
55 ('L', 10.0, -3.6595), ('A', 9.7657, -3.0938, 9.2, -2.8595), ('L', 8.5, -2.8595),
56 ('A', 8.2879, -2.9473, 8.2, -3.1595), ('L', 8.2, -5.3295), ('A', 7.7138, -6.0446, 6.87, -5.8555),
57 ('L', 4.53, -3.36), ('A', 3.878, -2.3314, 3.65, -1.135), ('L', 3.65, 0.0), ('L', 3.65, 1.135),
58 ('A', 3.878, 2.3314, 4.53, 3.36), ('L', 6.87, 5.8555), ('A', 7.7138, 6.0446, 8.2, 5.3295),
59 ('L', 8.2, 3.1595), ('A', 8.2879, 2.9473, 8.5, 2.8595), ('L', 9.2, 2.8595),
60 ('A', 9.7657, 3.0938, 10.0, 3.6595), ('L', 10.0, 8.2895), ('A', 9.499, 9.499, 8.2895, 10.0),
61 ('L', 3.6595, 10.0), ('A', 3.0938, 9.7657, 2.8595, 9.2), ('L', 2.8595, 8.5),
62 ('A', 2.9473, 8.2879, 3.1595, 8.2), ('L', 5.3295, 8.2), ('A', 6.0446, 7.7138, 5.8555, 6.87),
63 ('L', 3.36, 4.53), ('A', 2.3314, 3.878, 1.135, 3.65), ('L', 0.0, 3.65), ('L', -1.135, 3.65),
64 ('A', -2.3314, 3.878, -3.36, 4.53), ('L', -5.8555, 6.87), ('A', -6.0446, 7.7138, -5.3295, 8.2),
65 ('L', -3.1595, 8.2), ('A', -2.9473, 8.2879, -2.8595, 8.5), ('L', -2.8595, 9.2),
66 ('A', -3.0938, 9.7657, -3.6595, 10.0), ('L', -8.2895, 10.0), ('A', -9.499, 9.499, -10.0, 8.2895),
67 ('L', -10.0, 3.6595), ('A', -9.7657, 3.0938, -9.2, 2.8595), ('L', -8.5, 2.8595),
68 ('A', -8.2879, 2.9473, -8.2, 3.1595), ('L', -8.2, 5.3295), ('A', -7.7138, 6.0446, -6.87, 5.8555),
69 ('L', -4.53, 3.36), ('A', -3.878, 2.3314, -3.65, 1.135), ('L', -3.65, 0.0), ('L', -3.65, -1.135),
70 ('A', -3.878, -2.3314, -4.53, -3.36), ('L', -6.87, -5.8555), ('A', -7.7138, -6.0446, -8.2, -5.3295),
71 ('L', -8.2, -3.1595), ('A', -8.2879, -2.9473, -8.5, -2.8595), ('L', -9.2, -2.8595),
72 ('A', -9.7657, -3.0938, -10.0, -3.6595), ('L', -10.0, -8.2895), ('A', -9.499, -9.499, -8.2895, -10.0),
73 ('L', -3.6595, -10.0), ('A', -3.0938, -9.7657, -2.8595, -9.2), ('L', -2.8595, -8.5),
74 ('A', -2.9473, -8.2879, -3.1595, -8.2), ('L', -5.3295, -8.2), ('A', -6.0446, -7.7138, -5.8555, -6.87),
75 ('L', -3.36, -4.53), ('A', -2.3314, -3.878, -1.135, -3.65), ('L', 0.0, -3.65), ('L', 1.135, -3.65),
76 ('A', 2.3314, -3.878, 3.36, -4.53), ('L', 5.8555, -6.87), ('A', 6.0446, -7.7138, 5.3295, -8.2)],
77 [0.0, 2.15, ('A', 1.5203, 1.5203, 2.15, 0.0), ('A', 1.5203, -1.5203, 0.0, -2.15),
78 ('A', -1.5203, -1.5203, -2.15, 0.0), ('A', -1.5203, 1.5203, 0.0, 2.15)],
79 ],
80 # 2020-I5-ISP: FreeCAD-library "Profile_20x20_I_Type_Slot5.stp" (Stefan Katerkamp, CC-BY-3.0),
81 # step.parts profile_2020_i_slot5_item_compatible_l50: section 20 x 20,
82 # area 181.6955 mm^2 on the model
83 "2020-I5-ISP": [
84 [0.0, 3.45, ('L', -0.1772, 3.65), ('L', -2.3772, 3.65), ('L', -5.6469, 6.9197),
85 ('A', -5.8095, 7.737, -5.1165, 8.2), ('L', -2.5, 8.2), ('L', -2.5, 9.5), ('A', -2.6464, 9.8536, -3.0, 10.0),
86 ('L', -8.0, 10.0), ('A', -9.4142, 9.4142, -10.0, 8.0), ('L', -10.0, 3.0), ('A', -9.8536, 2.6464, -9.5, 2.5),
87 ('L', -8.2, 2.5), ('L', -8.2, 5.1165), ('A', -7.737, 5.8095, -6.9197, 5.6469), ('L', -3.65, 2.3772),
88 ('L', -3.65, 0.1772), ('L', -3.45, 0.0), ('L', -3.65, -0.1772), ('L', -3.65, -2.3772),
89 ('L', -6.9197, -5.6469), ('A', -7.737, -5.8095, -8.2, -5.1165), ('L', -8.2, -2.5), ('L', -9.5, -2.5),
90 ('A', -9.8536, -2.6464, -10.0, -3.0), ('L', -10.0, -8.0), ('A', -9.4142, -9.4142, -8.0, -10.0),
91 ('L', -3.0, -10.0), ('A', -2.6464, -9.8536, -2.5, -9.5), ('L', -2.5, -8.2), ('L', -5.1165, -8.2),
92 ('A', -5.8095, -7.737, -5.6469, -6.9197), ('L', -2.3772, -3.65), ('L', -0.1772, -3.65), ('L', 0.0, -3.45),
93 ('L', 0.1772, -3.65), ('L', 2.3772, -3.65), ('L', 5.6469, -6.9197), ('A', 5.8095, -7.737, 5.1165, -8.2),
94 ('L', 2.5, -8.2), ('L', 2.5, -9.5), ('A', 2.6464, -9.8536, 3.0, -10.0), ('L', 8.0, -10.0),
95 ('A', 9.4142, -9.4142, 10.0, -8.0), ('L', 10.0, -3.0), ('A', 9.8536, -2.6464, 9.5, -2.5), ('L', 8.2, -2.5),
96 ('L', 8.2, -5.1165), ('A', 7.737, -5.8095, 6.9197, -5.6469), ('L', 3.65, -2.3772), ('L', 3.65, -0.1772),
97 ('L', 3.45, 0.0), ('L', 3.65, 0.1772), ('L', 3.65, 2.3772), ('L', 6.9197, 5.6469),
98 ('A', 7.737, 5.8095, 8.2, 5.1165), ('L', 8.2, 2.5), ('L', 9.5, 2.5), ('A', 9.8536, 2.6464, 10.0, 3.0),
99 ('L', 10.0, 8.0), ('A', 9.4142, 9.4142, 8.0, 10.0), ('L', 3.0, 10.0), ('A', 2.6464, 9.8536, 2.5, 9.5),
100 ('L', 2.5, 8.2), ('L', 5.1165, 8.2), ('A', 5.8095, 7.737, 5.6469, 6.9197), ('L', 2.3772, 3.65),
101 ('L', 0.1772, 3.65), ('L', 0.0, 3.45)],
102 [-2.15, 0.0, ('A', -1.5203, 1.5203, 0.0, 2.15), ('A', 1.5203, 1.5203, 2.15, 0.0),
103 ('A', 1.5203, -1.5203, 0.0, -2.15), ('A', -1.5203, -1.5203, -2.15, 0.0)],
104 ],
105 # 2040-B6: FreeCAD-library "Profile-20x40-B-Type_Slot6.step" (mathis (Int-Circuit), CC-BY-3.0),
106 # step.parts profile_2040_b_slot6: section 20 x 40,
107 # area 286.7288 mm^2 on the model
108 "2040-B6": [
109 [-10.0, -13.7, ('L', -10.0, -18.5), ('A', -9.5607, -19.5607, -8.5, -20.0), ('L', -3.7, -20.0),
110 ('A', -3.5586, -19.9414, -3.5, -19.8), ('L', -3.5, -19.5), ('L', -3.2, -19.5),
111 ('A', -3.0586, -19.4414, -3.0, -19.3), ('L', -3.0, -19.0), ('A', -3.1464, -18.6464, -3.5, -18.5),
112 ('L', -5.5, -18.5), ('A', -5.8536, -18.3536, -6.0, -18.0), ('L', -6.0, -17.27),
113 ('A', -5.9619, -17.0787, -5.8536, -16.9164), ('L', -3.5836, -14.6464),
114 ('A', -3.4213, -14.5381, -3.23, -14.5), ('L', -0.955, -14.5), ('A', -0.9032, -14.4932, -0.8549, -14.4732),
115 ('L', -0.1001, -14.0368), ('A', 0.0, -14.01, 0.1001, -14.0368), ('L', 0.8549, -14.4732),
116 ('A', 0.9032, -14.4932, 0.955, -14.5), ('L', 3.23, -14.5), ('A', 3.4213, -14.5381, 3.5836, -14.6464),
117 ('L', 5.8536, -16.9164), ('A', 5.9619, -17.0787, 6.0, -17.27), ('L', 6.0, -18.0),
118 ('A', 5.8536, -18.3536, 5.5, -18.5), ('L', 3.5, -18.5), ('A', 3.1464, -18.6464, 3.0, -19.0),
119 ('L', 3.0, -19.3), ('A', 3.0586, -19.4414, 3.2, -19.5), ('L', 3.5, -19.5), ('L', 3.5, -19.8),
120 ('A', 3.5586, -19.9414, 3.7, -20.0), ('L', 8.5, -20.0), ('A', 9.5607, -19.5607, 10.0, -18.5),
121 ('L', 10.0, -13.7), ('A', 9.9414, -13.5586, 9.8, -13.5), ('L', 9.5, -13.5), ('L', 9.5, -13.2),
122 ('A', 9.4414, -13.0586, 9.3, -13.0), ('L', 9.0, -13.0), ('A', 8.6464, -13.1464, 8.5, -13.5),
123 ('L', 8.5, -15.5), ('A', 8.3536, -15.8536, 8.0, -16.0), ('L', 7.27, -16.0),
124 ('A', 7.0787, -15.9619, 6.9164, -15.8536), ('L', 4.6464, -13.5836), ('A', 4.5381, -13.4213, 4.5, -13.23),
125 ('L', 4.5, -10.955), ('A', 4.4932, -10.9032, 4.4732, -10.8549), ('L', 4.0368, -10.1001),
126 ('A', 4.01, -10.0, 4.0368, -9.8999), ('L', 4.4732, -9.1451), ('A', 4.4932, -9.0968, 4.5, -9.045),
127 ('L', 4.5, -6.77), ('A', 4.5381, -6.5787, 4.6464, -6.4164), ('L', 6.9164, -4.1464),
128 ('A', 7.0787, -4.0381, 7.27, -4.0), ('L', 8.0, -4.0), ('A', 8.3536, -4.1464, 8.5, -4.5), ('L', 8.5, -6.5),
129 ('A', 8.6464, -6.8536, 9.0, -7.0), ('L', 9.3, -7.0), ('A', 9.4414, -6.9414, 9.5, -6.8), ('L', 9.5, -6.5),
130 ('L', 9.8, -6.5), ('A', 9.9414, -6.4414, 10.0, -6.3), ('L', 10.0, 6.3), ('A', 9.9414, 6.4414, 9.8, 6.5),
131 ('L', 9.5, 6.5), ('L', 9.5, 6.8), ('A', 9.4414, 6.9414, 9.3, 7.0), ('L', 9.0, 7.0),
132 ('A', 8.6464, 6.8536, 8.5, 6.5), ('L', 8.5, 4.5), ('A', 8.3536, 4.1464, 8.0, 4.0), ('L', 7.27, 4.0),
133 ('A', 7.0787, 4.0381, 6.9164, 4.1464), ('L', 4.6464, 6.4164), ('A', 4.5381, 6.5787, 4.5, 6.77),
134 ('L', 4.5, 9.045), ('A', 4.4932, 9.0968, 4.4732, 9.1451), ('L', 4.0368, 9.8999),
135 ('A', 4.01, 10.0, 4.0368, 10.1001), ('L', 4.4732, 10.8549), ('A', 4.4932, 10.9032, 4.5, 10.955),
136 ('L', 4.5, 13.23), ('A', 4.5381, 13.4213, 4.6464, 13.5836), ('L', 6.9164, 15.8536),
137 ('A', 7.0787, 15.9619, 7.27, 16.0), ('L', 8.0, 16.0), ('A', 8.3536, 15.8536, 8.5, 15.5), ('L', 8.5, 13.5),
138 ('A', 8.6464, 13.1464, 9.0, 13.0), ('L', 9.3, 13.0), ('A', 9.4414, 13.0586, 9.5, 13.2), ('L', 9.5, 13.5),
139 ('L', 9.8, 13.5), ('A', 9.9414, 13.5586, 10.0, 13.7), ('L', 10.0, 18.5), ('A', 9.5607, 19.5607, 8.5, 20.0),
140 ('L', 3.7, 20.0), ('A', 3.5586, 19.9414, 3.5, 19.8), ('L', 3.5, 19.5), ('L', 3.2, 19.5),
141 ('A', 3.0586, 19.4414, 3.0, 19.3), ('L', 3.0, 19.0), ('A', 3.1464, 18.6464, 3.5, 18.5), ('L', 5.5, 18.5),
142 ('A', 5.8536, 18.3536, 6.0, 18.0), ('L', 6.0, 17.27), ('A', 5.9619, 17.0787, 5.8536, 16.9164),
143 ('L', 3.5836, 14.6464), ('A', 3.4213, 14.5381, 3.23, 14.5), ('L', 0.955, 14.5),
144 ('A', 0.9032, 14.4932, 0.8549, 14.4732), ('L', 0.1001, 14.0368), ('A', 0.0, 14.01, -0.1001, 14.0368),
145 ('L', -0.8549, 14.4732), ('A', -0.9032, 14.4932, -0.955, 14.5), ('L', -3.23, 14.5),
146 ('A', -3.4213, 14.5381, -3.5836, 14.6464), ('L', -5.8536, 16.9164), ('A', -5.9619, 17.0787, -6.0, 17.27),
147 ('L', -6.0, 18.0), ('A', -5.8536, 18.3536, -5.5, 18.5), ('L', -3.5, 18.5),
148 ('A', -3.1464, 18.6464, -3.0, 19.0), ('L', -3.0, 19.3), ('A', -3.0586, 19.4414, -3.2, 19.5),
149 ('L', -3.5, 19.5), ('L', -3.5, 19.8), ('A', -3.5586, 19.9414, -3.7, 20.0), ('L', -8.5, 20.0),
150 ('A', -9.5607, 19.5607, -10.0, 18.5), ('L', -10.0, 13.7), ('A', -9.9414, 13.5586, -9.8, 13.5),
151 ('L', -9.5, 13.5), ('L', -9.5, 13.2), ('A', -9.4414, 13.0586, -9.3, 13.0), ('L', -9.0, 13.0),
152 ('A', -8.6464, 13.1464, -8.5, 13.5), ('L', -8.5, 15.5), ('A', -8.3536, 15.8536, -8.0, 16.0),
153 ('L', -7.27, 16.0), ('A', -7.0787, 15.9619, -6.9164, 15.8536), ('L', -4.6464, 13.5836),
154 ('A', -4.5381, 13.4213, -4.5, 13.23), ('L', -4.5, 10.955), ('A', -4.4932, 10.9032, -4.4732, 10.8549),
155 ('L', -4.0368, 10.1001), ('A', -4.01, 10.0, -4.0368, 9.8999), ('L', -4.4732, 9.1451),
156 ('A', -4.4932, 9.0968, -4.5, 9.045), ('L', -4.5, 6.77), ('A', -4.5381, 6.5787, -4.6464, 6.4164),
157 ('L', -6.9164, 4.1464), ('A', -7.0787, 4.0381, -7.27, 4.0), ('L', -8.0, 4.0),
158 ('A', -8.3536, 4.1464, -8.5, 4.5), ('L', -8.5, 6.5), ('A', -8.6464, 6.8536, -9.0, 7.0), ('L', -9.3, 7.0),
159 ('A', -9.4414, 6.9414, -9.5, 6.8), ('L', -9.5, 6.5), ('L', -9.8, 6.5), ('A', -9.9414, 6.4414, -10.0, 6.3),
160 ('L', -10.0, -6.3), ('A', -9.9414, -6.4414, -9.8, -6.5), ('L', -9.5, -6.5), ('L', -9.5, -6.8),
161 ('A', -9.4414, -6.9414, -9.3, -7.0), ('L', -9.0, -7.0), ('A', -8.6464, -6.8536, -8.5, -6.5),
162 ('L', -8.5, -4.5), ('A', -8.3536, -4.1464, -8.0, -4.0), ('L', -7.27, -4.0),
163 ('A', -7.0787, -4.0381, -6.9164, -4.1464), ('L', -4.6464, -6.4164), ('A', -4.5381, -6.5787, -4.5, -6.77),
164 ('L', -4.5, -9.045), ('A', -4.4932, -9.0968, -4.4732, -9.1451), ('L', -4.0368, -9.8999),
165 ('A', -4.01, -10.0, -4.0368, -10.1001), ('L', -4.4732, -10.8549), ('A', -4.4932, -10.9032, -4.5, -10.955),
166 ('L', -4.5, -13.23), ('A', -4.5381, -13.4213, -4.6464, -13.5836), ('L', -6.9164, -15.8536),
167 ('A', -7.0787, -15.9619, -7.27, -16.0), ('L', -8.0, -16.0), ('A', -8.3536, -15.8536, -8.5, -15.5),
168 ('L', -8.5, -13.5), ('A', -8.6464, -13.1464, -9.0, -13.0), ('L', -9.3, -13.0),
169 ('A', -9.4414, -13.0586, -9.5, -13.2), ('L', -9.5, -13.5), ('L', -9.8, -13.5),
170 ('A', -9.9414, -13.5586, -10.0, -13.7)],
171 [-1.9116, -12.9914, ('A', -2.5102, -12.5102, -2.9914, -11.9116), ('L', -2.4456, -11.2576),
172 ('A', -2.75, -10.0, -2.4456, -8.7424), ('L', -2.9914, -8.0884), ('A', -2.5102, -7.4898, -1.9116, -7.0086),
173 ('L', -1.2576, -7.5544), ('A', 0.0, -7.25, 1.2576, -7.5544), ('L', 1.9116, -7.0086),
174 ('A', 2.5102, -7.4898, 2.9914, -8.0884), ('L', 2.4456, -8.7424), ('A', 2.75, -10.0, 2.4456, -11.2576),
175 ('L', 2.9914, -11.9116), ('A', 2.5102, -12.5102, 1.9116, -12.9914), ('L', 1.2576, -12.4456),
176 ('A', 0.0, -12.75, -1.2576, -12.4456), ('L', -1.9116, -12.9914)],
177 [6.645, -2.5, ('A', 6.4537, -2.538, 6.2915, -2.6464), ('L', 3.5835, -5.3536),
178 ('A', 3.4213, -5.462, 3.23, -5.5), ('L', 0.955, -5.5), ('A', 0.9032, -5.5068, 0.8549, -5.5268),
179 ('L', 0.1001, -5.9632), ('A', 0.0, -5.99, -0.1001, -5.9632), ('L', -0.8549, -5.5268),
180 ('A', -0.9032, -5.5068, -0.955, -5.5), ('L', -3.23, -5.5), ('A', -3.4213, -5.462, -3.5835, -5.3536),
181 ('L', -6.2915, -2.6464), ('A', -6.4537, -2.538, -6.645, -2.5), ('L', -8.0, -2.5),
182 ('A', -8.3536, -2.3536, -8.5, -2.0), ('L', -8.5, 0.0), ('L', -8.5, 2.0), ('A', -8.3536, 2.3536, -8.0, 2.5),
183 ('L', -6.645, 2.5), ('A', -6.4537, 2.538, -6.2915, 2.6464), ('L', -3.5835, 5.3536),
184 ('A', -3.4213, 5.462, -3.23, 5.5), ('L', -0.955, 5.5), ('A', -0.9032, 5.5068, -0.8549, 5.5268),
185 ('L', -0.1001, 5.9632), ('A', 0.0, 5.99, 0.1001, 5.9632), ('L', 0.8549, 5.5268),
186 ('A', 0.9032, 5.5068, 0.955, 5.5), ('L', 3.23, 5.5), ('A', 3.4213, 5.462, 3.5835, 5.3536),
187 ('L', 6.2915, 2.6464), ('A', 6.4537, 2.538, 6.645, 2.5), ('L', 8.0, 2.5), ('A', 8.3536, 2.3536, 8.5, 2.0),
188 ('L', 8.5, 0.0), ('L', 8.5, -2.0), ('A', 8.3536, -2.3536, 8.0, -2.5), ('L', 6.645, -2.5)],
189 [-2.4456, 11.2576, ('L', -2.9914, 11.9116), ('A', -2.5102, 12.5102, -1.9116, 12.9914),
190 ('L', -1.2576, 12.4456), ('A', 0.0, 12.75, 1.2576, 12.4456), ('L', 1.9116, 12.9914),
191 ('A', 2.5102, 12.5102, 2.9914, 11.9116), ('L', 2.4456, 11.2576), ('A', 2.75, 10.0, 2.4456, 8.7424),
192 ('L', 2.9914, 8.0884), ('A', 2.5102, 7.4898, 1.9116, 7.0086), ('L', 1.2576, 7.5544),
193 ('A', 0.0, 7.25, -1.2576, 7.5544), ('L', -1.9116, 7.0086), ('A', -2.5102, 7.4898, -2.9914, 8.0884),
194 ('L', -2.4456, 8.7424), ('A', -2.75, 10.0, -2.4456, 11.2576)],
195 ],
196 # 3030-B8: FreeCAD-library "Profile-30x30-B-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0),
197 # step.parts profile_3030_b_slot8: section 30 x 30,
198 # area 313.8248 mm^2 on the model
199 "3030-B8": [
200 [-15.0, -4.7, ('L', -15.0, -13.0), ('A', -14.4142, -14.4142, -13.0, -15.0), ('L', -4.7, -15.0),
201 ('A', -4.5586, -14.9414, -4.5, -14.8), ('L', -4.5, -14.5), ('L', -4.2, -14.5),
202 ('A', -4.0586, -14.4414, -4.0, -14.3), ('L', -4.0, -13.3), ('A', -4.1464, -12.9464, -4.5, -12.8),
203 ('L', -7.75, -12.8), ('A', -8.1036, -12.6536, -8.25, -12.3), ('L', -8.25, -10.2534),
204 ('A', -8.212, -10.0622, -8.1037, -9.9), ('L', -4.3537, -6.1466), ('A', -4.1914, -6.0381, -4.0, -6.0),
205 ('L', -0.95, -6.0), ('A', -0.8989, -5.9934, -0.8511, -5.9739), ('L', -0.0989, -5.5461),
206 ('A', 0.0, -5.52, 0.0989, -5.5461), ('L', 0.8511, -5.9739), ('A', 0.8989, -5.9934, 0.95, -6.0),
207 ('L', 4.0, -6.0), ('A', 4.1914, -6.0381, 4.3537, -6.1466), ('L', 8.1037, -9.9),
208 ('A', 8.212, -10.0622, 8.25, -10.2534), ('L', 8.25, -12.3), ('A', 8.1036, -12.6536, 7.75, -12.8),
209 ('L', 4.5, -12.8), ('A', 4.1464, -12.9464, 4.0, -13.3), ('L', 4.0, -14.3),
210 ('A', 4.0586, -14.4414, 4.2, -14.5), ('L', 4.5, -14.5), ('L', 4.5, -14.8),
211 ('A', 4.5586, -14.9414, 4.7, -15.0), ('L', 13.0, -15.0), ('A', 14.4142, -14.4142, 15.0, -13.0),
212 ('L', 15.0, -4.7), ('A', 14.9414, -4.5586, 14.8, -4.5), ('L', 14.5, -4.5), ('L', 14.5, -4.2),
213 ('A', 14.4414, -4.0586, 14.3, -4.0), ('L', 13.3, -4.0), ('A', 12.9464, -4.1464, 12.8, -4.5),
214 ('L', 12.8, -7.75), ('A', 12.6536, -8.1036, 12.3, -8.25), ('L', 10.2534, -8.25),
215 ('A', 10.0622, -8.212, 9.9, -8.1037), ('L', 6.1466, -4.3537), ('A', 6.0381, -4.1914, 6.0, -4.0),
216 ('L', 6.0, -0.95), ('A', 5.9934, -0.8989, 5.9739, -0.8511), ('L', 5.5461, -0.0989),
217 ('A', 5.52, 0.0, 5.5461, 0.0989), ('L', 5.9739, 0.8511), ('A', 5.9934, 0.8989, 6.0, 0.95), ('L', 6.0, 4.0),
218 ('A', 6.0381, 4.1914, 6.1466, 4.3537), ('L', 9.9, 8.1037), ('A', 10.0622, 8.212, 10.2534, 8.25),
219 ('L', 12.3, 8.25), ('A', 12.6536, 8.1036, 12.8, 7.75), ('L', 12.8, 4.5), ('A', 12.9464, 4.1464, 13.3, 4.0),
220 ('L', 14.3, 4.0), ('A', 14.4414, 4.0586, 14.5, 4.2), ('L', 14.5, 4.5), ('L', 14.8, 4.5),
221 ('A', 14.9414, 4.5586, 15.0, 4.7), ('L', 15.0, 13.0), ('A', 14.4142, 14.4142, 13.0, 15.0), ('L', 4.7, 15.0),
222 ('A', 4.5586, 14.9414, 4.5, 14.8), ('L', 4.5, 14.5), ('L', 4.2, 14.5), ('A', 4.0586, 14.4414, 4.0, 14.3),
223 ('L', 4.0, 13.3), ('A', 4.1464, 12.9464, 4.5, 12.8), ('L', 7.75, 12.8), ('A', 8.1036, 12.6536, 8.25, 12.3),
224 ('L', 8.25, 10.2534), ('A', 8.212, 10.0622, 8.1037, 9.9), ('L', 4.3537, 6.1466),
225 ('A', 4.1914, 6.0381, 4.0, 6.0), ('L', 0.95, 6.0), ('A', 0.8989, 5.9934, 0.8511, 5.9739),
226 ('L', 0.0989, 5.5461), ('A', 0.0, 5.52, -0.0989, 5.5461), ('L', -0.8511, 5.9739),
227 ('A', -0.8989, 5.9934, -0.95, 6.0), ('L', -4.0, 6.0), ('A', -4.1914, 6.0381, -4.3537, 6.1466),
228 ('L', -8.1037, 9.9), ('A', -8.212, 10.0622, -8.25, 10.2534), ('L', -8.25, 12.3),
229 ('A', -8.1036, 12.6536, -7.75, 12.8), ('L', -4.5, 12.8), ('A', -4.1464, 12.9464, -4.0, 13.3),
230 ('L', -4.0, 14.3), ('A', -4.0586, 14.4414, -4.2, 14.5), ('L', -4.5, 14.5), ('L', -4.5, 14.8),
231 ('A', -4.5586, 14.9414, -4.7, 15.0), ('L', -13.0, 15.0), ('A', -14.4142, 14.4142, -15.0, 13.0),
232 ('L', -15.0, 4.7), ('A', -14.9414, 4.5586, -14.8, 4.5), ('L', -14.5, 4.5), ('L', -14.5, 4.2),
233 ('A', -14.4414, 4.0586, -14.3, 4.0), ('L', -13.3, 4.0), ('A', -12.9464, 4.1464, -12.8, 4.5),
234 ('L', -12.8, 7.75), ('A', -12.6536, 8.1036, -12.3, 8.25), ('L', -10.2534, 8.25),
235 ('A', -10.0622, 8.212, -9.9, 8.1037), ('L', -6.1466, 4.3537), ('A', -6.0381, 4.1914, -6.0, 4.0),
236 ('L', -6.0, 0.95), ('A', -5.9934, 0.8989, -5.9739, 0.8511), ('L', -5.5461, 0.0989),
237 ('A', -5.52, 0.0, -5.5461, -0.0989), ('L', -5.9739, -0.8511), ('A', -5.9934, -0.8989, -6.0, -0.95),
238 ('L', -6.0, -4.0), ('A', -6.0381, -4.1914, -6.1466, -4.3537), ('L', -9.9, -8.1037),
239 ('A', -10.0622, -8.212, -10.2534, -8.25), ('L', -12.3, -8.25), ('A', -12.6536, -8.1036, -12.8, -7.75),
240 ('L', -12.8, -4.5), ('A', -12.9464, -4.1464, -13.3, -4.0), ('L', -14.3, -4.0),
241 ('A', -14.4414, -4.0586, -14.5, -4.2), ('L', -14.5, -4.5), ('L', -14.8, -4.5),
242 ('A', -14.9414, -4.5586, -15.0, -4.7)],
243 [-13.7, -12.7, ('L', -13.7, -10.5), ('A', -13.4071, -9.7929, -12.7, -9.5), ('L', -10.5, -9.5),
244 ('A', -9.7929, -9.7929, -9.5, -10.5), ('L', -9.5, -12.7), ('A', -9.7929, -13.4071, -10.5, -13.7),
245 ('L', -12.7, -13.7), ('A', -13.4071, -13.4071, -13.7, -12.7)],
246 [12.7, -13.7, ('L', 10.5, -13.7), ('A', 9.7929, -13.4071, 9.5, -12.7), ('L', 9.5, -10.5),
247 ('A', 9.7929, -9.7929, 10.5, -9.5), ('L', 12.7, -9.5), ('A', 13.4071, -9.7929, 13.7, -10.5),
248 ('L', 13.7, -12.7), ('A', 13.4071, -13.4071, 12.7, -13.7)],
249 [3.2812, 1.5988, ('A', 3.5566, 0.8204, 3.65, 0.0), ('A', 3.5567, -0.82, 3.2815, -1.5981),
250 ('L', 4.5132, -3.1434), ('A', 3.8895, -3.8887, 3.1444, -4.5125), ('L', 1.5988, -3.2812),
251 ('A', 0.0004, -3.65, -1.5981, -3.2815), ('L', -3.1434, -4.5132), ('A', -3.8887, -3.8895, -4.5125, -3.1444),
252 ('L', -3.2812, -1.5988), ('A', -3.65, -0.0004, -3.2815, 1.5981), ('L', -4.5132, 3.1434),
253 ('A', -3.8895, 3.8887, -3.1444, 4.5125), ('L', -1.5988, 3.2812), ('A', -0.0004, 3.65, 1.5981, 3.2815),
254 ('L', 3.1434, 4.5132), ('A', 3.8887, 3.8895, 4.5125, 3.1444), ('L', 3.2812, 1.5988)],
255 [-12.7, 13.7, ('L', -10.5, 13.7), ('A', -9.7929, 13.4071, -9.5, 12.7), ('L', -9.5, 10.5),
256 ('A', -9.7929, 9.7929, -10.5, 9.5), ('L', -12.7, 9.5), ('A', -13.4071, 9.7929, -13.7, 10.5),
257 ('L', -13.7, 12.7), ('A', -13.4071, 13.4071, -12.7, 13.7)],
258 [13.7, 12.7, ('L', 13.7, 10.5), ('A', 13.4071, 9.7929, 12.7, 9.5), ('L', 10.5, 9.5),
259 ('A', 9.7929, 9.7929, 9.5, 10.5), ('L', 9.5, 12.7), ('A', 9.7929, 13.4071, 10.5, 13.7), ('L', 12.7, 13.7),
260 ('A', 13.4071, 13.4071, 13.7, 12.7)],
261 ],
262 # 3030-HFS6: FreeCAD-library "misumi_profile_hfs_serie6_w8_30x30.step" (Felipe Machado, CC-BY-3.0),
263 # step.parts profile_misumi_hfs6_30x30_w8_l50: section 30 x 30,
264 # area 335.1129 mm^2 on the model
265 "3030-HFS6": [
266 [4.5858, 6.0, ('L', -4.5858, 6.0), ('L', -8.25, 9.6642), ('L', -8.25, 13.0), ('L', -4.0, 13.0),
267 ('L', -4.0, 15.0), ('L', -14.0, 15.0), ('A', -14.7071, 14.7071, -15.0, 14.0), ('L', -15.0, 4.0),
268 ('L', -13.0, 4.0), ('L', -13.0, 8.25), ('L', -9.6642, 8.25), ('L', -6.0, 4.5858), ('L', -6.0, -4.5858),
269 ('L', -9.6642, -8.25), ('L', -13.0, -8.25), ('L', -13.0, -4.0), ('L', -15.0, -4.0), ('L', -15.0, -14.0),
270 ('A', -14.7071, -14.7071, -14.0, -15.0), ('L', -4.0, -15.0), ('L', -4.0, -13.0), ('L', -8.25, -13.0),
271 ('L', -8.25, -9.6642), ('L', -4.5858, -6.0), ('L', 4.5858, -6.0), ('L', 8.25, -9.6642), ('L', 8.25, -13.0),
272 ('L', 4.0, -13.0), ('L', 4.0, -15.0), ('L', 14.0, -15.0), ('A', 14.7071, -14.7071, 15.0, -14.0),
273 ('L', 15.0, -4.0), ('L', 13.0, -4.0), ('L', 13.0, -8.25), ('L', 9.6642, -8.25), ('L', 6.0, -4.5858),
274 ('L', 6.0, 4.5858), ('L', 9.6642, 8.25), ('L', 13.0, 8.25), ('L', 13.0, 4.0), ('L', 15.0, 4.0),
275 ('L', 15.0, 14.0), ('A', 14.7071, 14.7071, 14.0, 15.0), ('L', 4.0, 15.0), ('L', 4.0, 13.0),
276 ('L', 8.25, 13.0), ('L', 8.25, 9.6642), ('L', 4.5858, 6.0)],
277 [('C', 11.6, -11.6, 2.1)],
278 [('C', 0.0, 0.0, 3.4)],
279 [('C', 11.6, 11.6, 2.1)],
280 [('C', -11.6, -11.6, 2.1)],
281 [('C', -11.6, 11.6, 2.1)],
282 ],
283 # 3060-B8: FreeCAD-library "Profile-30x60-B-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0),
284 # step.parts profile_3060_b_slot8: section 30 x 60,
285 # area 552.5767 mm^2 on the model
286 "3060-B8": [
287 [-15.0, -19.7, ('L', -15.0, -28.0), ('A', -14.4142, -29.4142, -13.0, -30.0), ('L', -4.7, -30.0),
288 ('A', -4.5586, -29.9414, -4.5, -29.8), ('L', -4.5, -29.5), ('L', -4.2, -29.5),
289 ('A', -4.0586, -29.4414, -4.0, -29.3), ('L', -4.0, -28.3), ('A', -4.1464, -27.9464, -4.5, -27.8),
290 ('L', -7.75, -27.8), ('A', -8.1036, -27.6536, -8.25, -27.3), ('L', -8.25, -25.26),
291 ('A', -8.212, -25.0688, -8.1038, -24.9067), ('L', -4.3488, -21.1467),
292 ('A', -4.1865, -21.0381, -3.995, -21.0), ('L', -0.955, -21.0), ('A', -0.9042, -20.9934, -0.8566, -20.9741),
293 ('L', -0.0984, -20.5459), ('A', 0.0, -20.52, 0.0984, -20.5459), ('L', 0.8566, -20.9741),
294 ('A', 0.9042, -20.9934, 0.955, -21.0), ('L', 3.995, -21.0), ('A', 4.1865, -21.0381, 4.3488, -21.1467),
295 ('L', 8.1038, -24.9067), ('A', 8.212, -25.0688, 8.25, -25.26), ('L', 8.25, -27.3),
296 ('A', 8.1036, -27.6536, 7.75, -27.8), ('L', 4.5, -27.8), ('A', 4.1464, -27.9464, 4.0, -28.3),
297 ('L', 4.0, -29.3), ('A', 4.0586, -29.4414, 4.2, -29.5), ('L', 4.5, -29.5), ('L', 4.5, -29.8),
298 ('A', 4.5586, -29.9414, 4.7, -30.0), ('L', 13.0, -30.0), ('A', 14.4142, -29.4142, 15.0, -28.0),
299 ('L', 15.0, -19.7), ('A', 14.9414, -19.5586, 14.8, -19.5), ('L', 14.5, -19.5), ('L', 14.5, -19.2),
300 ('A', 14.4414, -19.0586, 14.3, -19.0), ('L', 13.3, -19.0), ('A', 12.9464, -19.1464, 12.8, -19.5),
301 ('L', 12.8, -22.75), ('A', 12.6536, -23.1036, 12.3, -23.25), ('L', 10.26, -23.25),
302 ('A', 10.0688, -23.212, 9.9067, -23.1038), ('L', 6.1467, -19.3488), ('A', 6.0381, -19.1865, 6.0, -18.995),
303 ('L', 6.0, -15.955), ('A', 5.9934, -15.9042, 5.9741, -15.8566), ('L', 5.5459, -15.0984),
304 ('A', 5.52, -15.0, 5.5459, -14.9016), ('L', 5.9741, -14.1434), ('A', 5.9934, -14.0958, 6.0, -14.045),
305 ('L', 6.0, -11.005), ('A', 6.0381, -10.8135, 6.1467, -10.6512), ('L', 9.9067, -6.8962),
306 ('A', 10.0688, -6.788, 10.26, -6.75), ('L', 12.3, -6.75), ('A', 12.6536, -6.8964, 12.8, -7.25),
307 ('L', 12.8, -10.5), ('A', 12.9464, -10.8536, 13.3, -11.0), ('L', 14.3, -11.0),
308 ('A', 14.4414, -10.9414, 14.5, -10.8), ('L', 14.5, -10.5), ('L', 14.8, -10.5),
309 ('A', 14.9414, -10.4414, 15.0, -10.3), ('L', 15.0, 10.3), ('A', 14.9414, 10.4414, 14.8, 10.5),
310 ('L', 14.5, 10.5), ('L', 14.5, 10.8), ('A', 14.4414, 10.9414, 14.3, 11.0), ('L', 13.3, 11.0),
311 ('A', 12.9464, 10.8536, 12.8, 10.5), ('L', 12.8, 7.25), ('A', 12.6536, 6.8964, 12.3, 6.75),
312 ('L', 10.26, 6.75), ('A', 10.0688, 6.788, 9.9067, 6.8962), ('L', 6.1467, 10.6512),
313 ('A', 6.0381, 10.8135, 6.0, 11.005), ('L', 6.0, 14.045), ('A', 5.9934, 14.0958, 5.9741, 14.1434),
314 ('L', 5.5459, 14.9016), ('A', 5.52, 15.0, 5.5459, 15.0984), ('L', 5.9741, 15.8566),
315 ('A', 5.9934, 15.9042, 6.0, 15.955), ('L', 6.0, 18.995), ('A', 6.0381, 19.1865, 6.1467, 19.3488),
316 ('L', 9.9067, 23.1038), ('A', 10.0688, 23.212, 10.26, 23.25), ('L', 12.3, 23.25),
317 ('A', 12.6536, 23.1036, 12.8, 22.75), ('L', 12.8, 19.5), ('A', 12.9464, 19.1464, 13.3, 19.0),
318 ('L', 14.3, 19.0), ('A', 14.4414, 19.0586, 14.5, 19.2), ('L', 14.5, 19.5), ('L', 14.8, 19.5),
319 ('A', 14.9414, 19.5586, 15.0, 19.7), ('L', 15.0, 28.0), ('A', 14.4142, 29.4142, 13.0, 30.0),
320 ('L', 4.7, 30.0), ('A', 4.5586, 29.9414, 4.5, 29.8), ('L', 4.5, 29.5), ('L', 4.2, 29.5),
321 ('A', 4.0586, 29.4414, 4.0, 29.3), ('L', 4.0, 28.3), ('A', 4.1464, 27.9464, 4.5, 27.8), ('L', 7.75, 27.8),
322 ('A', 8.1036, 27.6536, 8.25, 27.3), ('L', 8.25, 25.26), ('A', 8.212, 25.0688, 8.1038, 24.9067),
323 ('L', 4.3488, 21.1467), ('A', 4.1865, 21.0381, 3.995, 21.0), ('L', 0.955, 21.0),
324 ('A', 0.9042, 20.9934, 0.8566, 20.9741), ('L', 0.0984, 20.5459), ('A', 0.0, 20.52, -0.0984, 20.5459),
325 ('L', -0.8566, 20.9741), ('A', -0.9042, 20.9934, -0.955, 21.0), ('L', -3.995, 21.0),
326 ('A', -4.1865, 21.0381, -4.3488, 21.1467), ('L', -8.1038, 24.9067), ('A', -8.212, 25.0688, -8.25, 25.26),
327 ('L', -8.25, 27.3), ('A', -8.1036, 27.6536, -7.75, 27.8), ('L', -4.5, 27.8),
328 ('A', -4.1464, 27.9464, -4.0, 28.3), ('L', -4.0, 29.3), ('A', -4.0586, 29.4414, -4.2, 29.5),
329 ('L', -4.5, 29.5), ('L', -4.5, 29.8), ('A', -4.5586, 29.9414, -4.7, 30.0), ('L', -13.0, 30.0),
330 ('A', -14.4142, 29.4142, -15.0, 28.0), ('L', -15.0, 19.7), ('A', -14.9414, 19.5586, -14.8, 19.5),
331 ('L', -14.5, 19.5), ('L', -14.5, 19.2), ('A', -14.4414, 19.0586, -14.3, 19.0), ('L', -13.3, 19.0),
332 ('A', -12.9464, 19.1464, -12.8, 19.5), ('L', -12.8, 22.75), ('A', -12.6536, 23.1036, -12.3, 23.25),
333 ('L', -10.26, 23.25), ('A', -10.0688, 23.212, -9.9067, 23.1038), ('L', -6.1467, 19.3488),
334 ('A', -6.0381, 19.1865, -6.0, 18.995), ('L', -6.0, 15.955), ('A', -5.9934, 15.9042, -5.9741, 15.8566),
335 ('L', -5.5459, 15.0984), ('A', -5.52, 15.0, -5.5459, 14.9016), ('L', -5.9741, 14.1434),
336 ('A', -5.9934, 14.0958, -6.0, 14.045), ('L', -6.0, 11.005), ('A', -6.0381, 10.8135, -6.1467, 10.6512),
337 ('L', -9.9067, 6.8962), ('A', -10.0688, 6.788, -10.26, 6.75), ('L', -12.3, 6.75),
338 ('A', -12.6536, 6.8964, -12.8, 7.25), ('L', -12.8, 10.5), ('A', -12.9464, 10.8536, -13.3, 11.0),
339 ('L', -14.3, 11.0), ('A', -14.4414, 10.9414, -14.5, 10.8), ('L', -14.5, 10.5), ('L', -14.8, 10.5),
340 ('A', -14.9414, 10.4414, -15.0, 10.3), ('L', -15.0, -10.3), ('A', -14.9414, -10.4414, -14.8, -10.5),
341 ('L', -14.5, -10.5), ('L', -14.5, -10.8), ('A', -14.4414, -10.9414, -14.3, -11.0), ('L', -13.3, -11.0),
342 ('A', -12.9464, -10.8536, -12.8, -10.5), ('L', -12.8, -7.25), ('A', -12.6536, -6.8964, -12.3, -6.75),
343 ('L', -10.26, -6.75), ('A', -10.0688, -6.788, -9.9067, -6.8962), ('L', -6.1467, -10.6512),
344 ('A', -6.0381, -10.8135, -6.0, -11.005), ('L', -6.0, -14.045), ('A', -5.9934, -14.0958, -5.9741, -14.1434),
345 ('L', -5.5459, -14.9016), ('A', -5.52, -15.0, -5.5459, -15.0984), ('L', -5.9741, -15.8566),
346 ('A', -5.9934, -15.9042, -6.0, -15.955), ('L', -6.0, -18.995), ('A', -6.0381, -19.1865, -6.1467, -19.3488),
347 ('L', -9.9067, -23.1038), ('A', -10.0688, -23.212, -10.26, -23.25), ('L', -12.3, -23.25),
348 ('A', -12.6536, -23.1036, -12.8, -22.75), ('L', -12.8, -19.5), ('A', -12.9464, -19.1464, -13.3, -19.0),
349 ('L', -14.3, -19.0), ('A', -14.4414, -19.0586, -14.5, -19.2), ('L', -14.5, -19.5), ('L', -14.8, -19.5),
350 ('A', -14.9414, -19.5586, -15.0, -19.7)],
351 [-12.7, -28.7, ('A', -13.4071, -28.4071, -13.7, -27.7), ('L', -13.7, -25.5),
352 ('A', -13.4071, -24.7929, -12.7, -24.5), ('L', -10.5, -24.5), ('A', -9.7929, -24.7929, -9.5, -25.5),
353 ('L', -9.5, -27.7), ('A', -9.7929, -28.4071, -10.5, -28.7), ('L', -12.7, -28.7)],
354 [13.7, -27.7, ('A', 13.4071, -28.4071, 12.7, -28.7), ('L', 10.5, -28.7), ('A', 9.7929, -28.4071, 9.5, -27.7),
355 ('L', 9.5, -25.5), ('A', 9.7929, -24.7929, 10.5, -24.5), ('L', 12.7, -24.5),
356 ('A', 13.4071, -24.7929, 13.7, -25.5), ('L', 13.7, -27.7)],
357 [-3.1439, -19.5129, ('A', -3.8891, -18.8891, -4.5129, -18.1439), ('L', -3.2814, -16.5985),
358 ('A', -3.65, -15.0, -3.2814, -13.4015), ('L', -4.5129, -11.8561),
359 ('A', -3.8891, -11.1109, -3.1439, -10.4871), ('L', -1.5985, -11.7186), ('A', 0.0, -11.35, 1.5985, -11.7186),
360 ('L', 3.1439, -10.4871), ('A', 3.8891, -11.1109, 4.5129, -11.8561), ('L', 3.2814, -13.4015),
361 ('A', 3.65, -15.0, 3.2814, -16.5985), ('L', 4.5129, -18.1439), ('A', 3.8891, -18.8891, 3.1439, -19.5129),
362 ('L', 1.5985, -18.2814), ('A', 0.0, -18.65, -1.5985, -18.2814), ('L', -3.1439, -19.5129)],
363 [9.99, -5.1, ('A', 9.4156, -5.2143, 8.9288, -5.5399), ('L', 6.4112, -8.0601),
364 ('A', 5.9244, -8.3857, 5.35, -8.5), ('L', -5.35, -8.5), ('A', -5.9244, -8.3857, -6.4112, -8.0601),
365 ('L', -8.9288, -5.5399), ('A', -9.4156, -5.2143, -9.99, -5.1), ('L', -11.85, -5.1),
366 ('A', -12.9107, -4.6607, -13.35, -3.6), ('L', -13.35, 0.0), ('L', -13.35, 3.6),
367 ('A', -12.9107, 4.6607, -11.85, 5.1), ('L', -9.99, 5.1), ('A', -9.4156, 5.2143, -8.9288, 5.5399),
368 ('L', -6.4112, 8.0601), ('A', -5.9244, 8.3857, -5.35, 8.5), ('L', 5.35, 8.5),
369 ('A', 5.9244, 8.3857, 6.4112, 8.0601), ('L', 8.9288, 5.5399), ('A', 9.4156, 5.2143, 9.99, 5.1),
370 ('L', 11.85, 5.1), ('A', 12.9107, 4.6607, 13.35, 3.6), ('L', 13.35, 0.0), ('L', 13.35, -3.6),
371 ('A', 12.9107, -4.6607, 11.85, -5.1), ('L', 9.99, -5.1)],
372 [-13.7, 25.5, ('L', -13.7, 27.7), ('A', -13.4071, 28.4071, -12.7, 28.7), ('L', -10.5, 28.7),
373 ('A', -9.7929, 28.4071, -9.5, 27.7), ('L', -9.5, 25.5), ('A', -9.7929, 24.7929, -10.5, 24.5),
374 ('L', -12.7, 24.5), ('A', -13.4071, 24.7929, -13.7, 25.5)],
375 [-3.2814, 16.5985, ('L', -4.5129, 18.1439), ('A', -3.8891, 18.8891, -3.1439, 19.5129),
376 ('L', -1.5985, 18.2814), ('A', 0.0, 18.65, 1.5985, 18.2814), ('L', 3.1439, 19.5129),
377 ('A', 3.8891, 18.8891, 4.5129, 18.1439), ('L', 3.2814, 16.5985), ('A', 3.65, 15.0, 3.2814, 13.4015),
378 ('L', 4.5129, 11.8561), ('A', 3.8891, 11.1109, 3.1439, 10.4871), ('L', 1.5985, 11.7186),
379 ('A', 0.0, 11.35, -1.5985, 11.7186), ('L', -3.1439, 10.4871), ('A', -3.8891, 11.1109, -4.5129, 11.8561),
380 ('L', -3.2814, 13.4015), ('A', -3.65, 15.0, -3.2814, 16.5985)],
381 [10.5, 28.7, ('L', 12.7, 28.7), ('A', 13.4071, 28.4071, 13.7, 27.7), ('L', 13.7, 25.5),
382 ('A', 13.4071, 24.7929, 12.7, 24.5), ('L', 10.5, 24.5), ('A', 9.7929, 24.7929, 9.5, 25.5), ('L', 9.5, 27.7),
383 ('A', 9.7929, 28.4071, 10.5, 28.7)],
384 ],
385 # 4040L-I8: FreeCAD-library "Profile-40x40L-I-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0),
386 # step.parts profile_4040l_i_slot8: section 40 x 40,
387 # area 657.0137 mm^2 on the model
388 "4040L-I8": [
389 [-20.0, -5.5, ('L', -20.0, -16.0), ('A', -18.8284, -18.8284, -16.0, -20.0), ('L', -5.5, -20.0),
390 ('A', -4.4393, -19.5607, -4.0, -18.5), ('L', -4.0, -16.5), ('A', -4.2929, -15.7929, -5.0, -15.5),
391 ('L', -6.5, -15.5), ('A', -6.8536, -15.6464, -7.0, -16.0), ('L', -7.0, -17.5),
392 ('A', -7.1464, -17.8536, -7.5, -18.0), ('A', -9.2678, -17.2678, -10.0, -15.5), ('L', -10.0, -14.19),
393 ('A', -9.6194, -12.2766, -8.5355, -10.6545), ('L', -7.0955, -9.2145), ('A', -5.4734, -8.1306, -3.56, -7.75),
394 ('L', 3.56, -7.75), ('A', 5.4734, -8.1306, 7.0955, -9.2145), ('L', 8.5355, -10.6545),
395 ('A', 9.6194, -12.2766, 10.0, -14.19), ('L', 10.0, -15.5), ('A', 9.2678, -17.2678, 7.5, -18.0),
396 ('A', 7.1464, -17.8536, 7.0, -17.5), ('L', 7.0, -16.0), ('A', 6.8536, -15.6464, 6.5, -15.5),
397 ('L', 5.0, -15.5), ('A', 4.2929, -15.7929, 4.0, -16.5), ('L', 4.0, -18.5),
398 ('A', 4.4393, -19.5607, 5.5, -20.0), ('L', 16.0, -20.0), ('A', 18.8284, -18.8284, 20.0, -16.0),
399 ('L', 20.0, -5.5), ('A', 19.5607, -4.4393, 18.5, -4.0), ('L', 16.5, -4.0),
400 ('A', 15.7929, -4.2929, 15.5, -5.0), ('L', 15.5, -6.5), ('A', 15.6464, -6.8536, 16.0, -7.0),
401 ('L', 17.5, -7.0), ('A', 17.8536, -7.1464, 18.0, -7.5), ('A', 17.2678, -9.2678, 15.5, -10.0),
402 ('L', 14.19, -10.0), ('A', 12.2766, -9.6194, 10.6545, -8.5355), ('L', 9.2145, -7.0955),
403 ('A', 8.1306, -5.4734, 7.75, -3.56), ('L', 7.75, 3.56), ('A', 8.1306, 5.4734, 9.2145, 7.0955),
404 ('L', 10.6545, 8.5355), ('A', 12.2766, 9.6194, 14.19, 10.0), ('L', 15.5, 10.0),
405 ('A', 17.2678, 9.2678, 18.0, 7.5), ('A', 17.8536, 7.1464, 17.5, 7.0), ('L', 16.0, 7.0),
406 ('A', 15.6464, 6.8536, 15.5, 6.5), ('L', 15.5, 5.0), ('A', 15.7929, 4.2929, 16.5, 4.0), ('L', 18.5, 4.0),
407 ('A', 19.5607, 4.4393, 20.0, 5.5), ('L', 20.0, 16.0), ('A', 18.8284, 18.8284, 16.0, 20.0), ('L', 5.5, 20.0),
408 ('A', 4.4393, 19.5607, 4.0, 18.5), ('L', 4.0, 16.5), ('A', 4.2929, 15.7929, 5.0, 15.5), ('L', 6.5, 15.5),
409 ('A', 6.8536, 15.6464, 7.0, 16.0), ('L', 7.0, 17.5), ('A', 7.1464, 17.8536, 7.5, 18.0),
410 ('A', 9.2678, 17.2678, 10.0, 15.5), ('L', 10.0, 14.19), ('A', 9.6194, 12.2766, 8.5355, 10.6545),
411 ('L', 7.0955, 9.2145), ('A', 5.4734, 8.1306, 3.56, 7.75), ('L', -3.56, 7.75),
412 ('A', -5.4734, 8.1306, -7.0955, 9.2145), ('L', -8.5355, 10.6545), ('A', -9.6194, 12.2766, -10.0, 14.19),
413 ('L', -10.0, 15.5), ('A', -9.2678, 17.2678, -7.5, 18.0), ('A', -7.1464, 17.8536, -7.0, 17.5),
414 ('L', -7.0, 16.0), ('A', -6.8536, 15.6464, -6.5, 15.5), ('L', -5.0, 15.5),
415 ('A', -4.2929, 15.7929, -4.0, 16.5), ('L', -4.0, 18.5), ('A', -4.4393, 19.5607, -5.5, 20.0),
416 ('L', -16.0, 20.0), ('A', -18.8284, 18.8284, -20.0, 16.0), ('L', -20.0, 5.5),
417 ('A', -19.5607, 4.4393, -18.5, 4.0), ('L', -16.5, 4.0), ('A', -15.7929, 4.2929, -15.5, 5.0),
418 ('L', -15.5, 6.5), ('A', -15.6464, 6.8536, -16.0, 7.0), ('L', -17.5, 7.0),
419 ('A', -17.8536, 7.1464, -18.0, 7.5), ('A', -17.2678, 9.2678, -15.5, 10.0), ('L', -14.19, 10.0),
420 ('A', -12.2766, 9.6194, -10.6545, 8.5355), ('L', -9.2145, 7.0955), ('A', -8.1306, 5.4734, -7.75, 3.56),
421 ('L', -7.75, -3.56), ('A', -8.1306, -5.4734, -9.2145, -7.0955), ('L', -10.6545, -8.5355),
422 ('A', -12.2766, -9.6194, -14.19, -10.0), ('L', -15.5, -10.0), ('A', -17.2678, -9.2678, -18.0, -7.5),
423 ('A', -17.8536, -7.1464, -17.5, -7.0), ('L', -16.0, -7.0), ('A', -15.6464, -6.8536, -15.5, -6.5),
424 ('L', -15.5, -5.0), ('A', -15.7929, -4.2929, -16.5, -4.0), ('L', -18.5, -4.0),
425 ('A', -19.5607, -4.4393, -20.0, -5.5)],
426 [-16.0, -18.2, ('A', -17.5556, -17.5556, -18.2, -16.0), ('L', -18.2, -12.3),
427 ('A', -18.0536, -11.9464, -17.7, -11.8), ('L', -12.3, -11.8), ('A', -11.9464, -11.9464, -11.8, -12.3),
428 ('L', -11.8, -17.7), ('A', -11.9464, -18.0536, -12.3, -18.2), ('L', -16.0, -18.2)],
429 [18.2, -16.0, ('A', 17.5556, -17.5556, 16.0, -18.2), ('L', 12.3, -18.2),
430 ('A', 11.9464, -18.0536, 11.8, -17.7), ('L', 11.8, -12.3), ('A', 11.9464, -11.9464, 12.3, -11.8),
431 ('L', 17.7, -11.8), ('A', 18.0536, -11.9464, 18.2, -12.3), ('L', 18.2, -16.0)],
432 [-18.2, 16.0, ('A', -17.5556, 17.5556, -16.0, 18.2), ('L', -12.3, 18.2),
433 ('A', -11.9464, 18.0536, -11.8, 17.7), ('L', -11.8, 12.3), ('A', -11.9464, 11.9464, -12.3, 11.8),
434 ('L', -17.7, 11.8), ('A', -18.0536, 11.9464, -18.2, 12.3), ('L', -18.2, 16.0)],
435 [('C', 0.0, 0.0, 3.4)],
436 [16.0, 18.2, ('A', 17.5556, 17.5556, 18.2, 16.0), ('L', 18.2, 12.3), ('A', 18.0536, 11.9464, 17.7, 11.8),
437 ('L', 12.3, 11.8), ('A', 11.9464, 11.9464, 11.8, 12.3), ('L', 11.8, 17.7),
438 ('A', 11.9464, 18.0536, 12.3, 18.2), ('L', 16.0, 18.2)],
439 ],
440 # 4080L-I8: FreeCAD-library "Profile-40x80L-I-Type_Slot8-Body.step" (mathis (Int-Circuit), CC-BY-3.0),
441 # step.parts profile_4080l_i_slot8: section 40 x 80,
442 # area 1133.4545 mm^2 on the model; drawn turned 90 degrees (the longer side along Y)
443 "4080L-I8": [
444 [5.6, -40.0, ('L', 16.0, -40.0), ('A', 18.8284, -38.8284, 20.0, -36.0), ('L', 20.0, -25.4),
445 ('A', 19.5607, -24.3394, 18.5, -23.9), ('L', 16.5, -23.9), ('A', 15.7929, -24.1929, 15.5, -24.9),
446 ('L', 15.5, -26.4), ('A', 15.6464, -26.7536, 16.0, -26.9), ('L', 17.5, -26.9),
447 ('A', 17.8536, -27.0465, 18.0, -27.4), ('A', 17.2678, -29.1678, 15.5, -29.9), ('L', 14.19, -29.9),
448 ('A', 12.2766, -29.5194, 10.6545, -28.4355), ('L', 9.2145, -26.9955), ('A', 8.1306, -25.3734, 7.75, -23.46),
449 ('L', 7.75, -16.34), ('A', 8.1306, -14.4266, 9.2145, -12.8045), ('L', 10.6545, -11.3645),
450 ('A', 12.2766, -10.2806, 14.19, -9.9), ('L', 15.5, -9.9), ('A', 17.2678, -10.6322, 18.0, -12.4),
451 ('A', 17.8536, -12.7536, 17.5, -12.9), ('L', 16.0, -12.9), ('A', 15.6464, -13.0465, 15.5, -13.4),
452 ('L', 15.5, -14.9), ('A', 15.7929, -15.6071, 16.5, -15.9), ('L', 18.5, -15.9),
453 ('A', 19.5607, -15.4607, 20.0, -14.4), ('L', 20.0, 14.4), ('A', 19.5607, 15.4607, 18.5, 15.9),
454 ('L', 16.5, 15.9), ('A', 15.7929, 15.6071, 15.5, 14.9), ('L', 15.5, 13.4),
455 ('A', 15.6464, 13.0465, 16.0, 12.9), ('L', 17.5, 12.9), ('A', 17.8536, 12.7536, 18.0, 12.4),
456 ('A', 17.2678, 10.6322, 15.5, 9.9), ('L', 14.19, 9.9), ('A', 12.2766, 10.2806, 10.6545, 11.3645),
457 ('L', 9.2145, 12.8045), ('A', 8.1306, 14.4266, 7.75, 16.34), ('L', 7.75, 23.46),
458 ('A', 8.1306, 25.3734, 9.2145, 26.9955), ('L', 10.6545, 28.4355), ('A', 12.2766, 29.5194, 14.19, 29.9),
459 ('L', 15.5, 29.9), ('A', 17.2678, 29.1678, 18.0, 27.4), ('A', 17.8536, 27.0465, 17.5, 26.9),
460 ('L', 16.0, 26.9), ('A', 15.6464, 26.7536, 15.5, 26.4), ('L', 15.5, 24.9),
461 ('A', 15.7929, 24.1929, 16.5, 23.9), ('L', 18.5, 23.9), ('A', 19.5607, 24.3394, 20.0, 25.4),
462 ('L', 20.0, 36.0), ('A', 18.8284, 38.8284, 16.0, 40.0), ('L', 5.6, 40.0), ('A', 4.5393, 39.5607, 4.1, 38.5),
463 ('L', 4.1, 36.5), ('A', 4.3929, 35.7929, 5.1, 35.5), ('L', 6.6, 35.5), ('A', 6.9535, 35.6464, 7.1, 36.0),
464 ('L', 7.1, 37.5), ('A', 7.2464, 37.8536, 7.6, 38.0), ('A', 9.3678, 37.2678, 10.1, 35.5), ('L', 10.1, 34.19),
465 ('A', 9.7194, 32.2766, 8.6355, 30.6545), ('L', 7.1955, 29.2145), ('A', 5.5734, 28.1306, 3.66, 27.75),
466 ('L', -3.46, 27.75), ('A', -5.3734, 28.1306, -6.9955, 29.2145), ('L', -8.4355, 30.6545),
467 ('A', -9.5194, 32.2766, -9.9, 34.19), ('L', -9.9, 35.5), ('A', -9.1678, 37.2678, -7.4, 38.0),
468 ('A', -7.0465, 37.8536, -6.9, 37.5), ('L', -6.9, 36.0), ('A', -6.7536, 35.6464, -6.4, 35.5),
469 ('L', -4.9, 35.5), ('A', -4.1929, 35.7929, -3.9, 36.5), ('L', -3.9, 38.5),
470 ('A', -4.3394, 39.5607, -5.4, 40.0), ('L', -16.0, 40.0), ('A', -18.8284, 38.8284, -20.0, 36.0),
471 ('L', -20.0, 25.6), ('A', -19.5607, 24.5393, -18.5, 24.1), ('L', -16.5, 24.1),
472 ('A', -15.7929, 24.3929, -15.5, 25.1), ('L', -15.5, 26.6), ('A', -15.6464, 26.9535, -16.0, 27.1),
473 ('L', -17.5, 27.1), ('A', -17.8536, 27.2464, -18.0, 27.6), ('A', -17.2678, 29.3678, -15.5, 30.1),
474 ('L', -14.19, 30.1), ('A', -12.2766, 29.7194, -10.6545, 28.6355), ('L', -9.2145, 27.1955),
475 ('A', -8.1306, 25.5734, -7.75, 23.66), ('L', -7.75, 16.54), ('A', -8.1306, 14.6266, -9.2145, 13.0045),
476 ('L', -10.6545, 11.5645), ('A', -12.2766, 10.4806, -14.19, 10.1), ('L', -15.5, 10.1),
477 ('A', -17.2678, 10.8322, -18.0, 12.6), ('A', -17.8536, 12.9535, -17.5, 13.1), ('L', -16.0, 13.1),
478 ('A', -15.6464, 13.2464, -15.5, 13.6), ('L', -15.5, 15.1), ('A', -15.7929, 15.8071, -16.5, 16.1),
479 ('L', -18.5, 16.1), ('A', -19.5607, 15.6606, -20.0, 14.6), ('L', -20.0, -14.6),
480 ('A', -19.5607, -15.6606, -18.5, -16.1), ('L', -16.5, -16.1), ('A', -15.7929, -15.8071, -15.5, -15.1),
481 ('L', -15.5, -13.6), ('A', -15.6464, -13.2464, -16.0, -13.1), ('L', -17.5, -13.1),
482 ('A', -17.8536, -12.9535, -18.0, -12.6), ('A', -17.2678, -10.8322, -15.5, -10.1), ('L', -14.19, -10.1),
483 ('A', -12.2766, -10.4806, -10.6545, -11.5645), ('L', -9.2145, -13.0045),
484 ('A', -8.1306, -14.6266, -7.75, -16.54), ('L', -7.75, -23.66), ('A', -8.1306, -25.5734, -9.2145, -27.1955),
485 ('L', -10.6545, -28.6355), ('A', -12.2766, -29.7194, -14.19, -30.1), ('L', -15.5, -30.1),
486 ('A', -17.2678, -29.3678, -18.0, -27.6), ('A', -17.8536, -27.2464, -17.5, -27.1), ('L', -16.0, -27.1),
487 ('A', -15.6464, -26.9535, -15.5, -26.6), ('L', -15.5, -25.1), ('A', -15.7929, -24.3929, -16.5, -24.1),
488 ('L', -18.5, -24.1), ('A', -19.5607, -24.5393, -20.0, -25.6), ('L', -20.0, -36.0),
489 ('A', -18.8284, -38.8284, -16.0, -40.0), ('L', -5.4, -40.0), ('A', -4.3394, -39.5607, -3.9, -38.5),
490 ('L', -3.9, -36.5), ('A', -4.1929, -35.7929, -4.9, -35.5), ('L', -6.4, -35.5),
491 ('A', -6.7536, -35.6464, -6.9, -36.0), ('L', -6.9, -37.5), ('A', -7.0465, -37.8536, -7.4, -38.0),
492 ('A', -9.1678, -37.2678, -9.9, -35.5), ('L', -9.9, -34.19), ('A', -9.5194, -32.2766, -8.4355, -30.6545),
493 ('L', -6.9955, -29.2145), ('A', -5.3734, -28.1306, -3.46, -27.75), ('L', 3.66, -27.75),
494 ('A', 5.5734, -28.1306, 7.1955, -29.2145), ('L', 8.6355, -30.6545), ('A', 9.7194, -32.2766, 10.1, -34.19),
495 ('L', 10.1, -35.5), ('A', 9.3678, -37.2678, 7.6, -38.0), ('A', 7.2464, -37.8536, 7.1, -37.5),
496 ('L', 7.1, -36.0), ('A', 6.9535, -35.6464, 6.6, -35.5), ('L', 5.1, -35.5),
497 ('A', 4.3929, -35.7929, 4.1, -36.5), ('L', 4.1, -38.5), ('A', 4.5393, -39.5607, 5.6, -40.0)],
498 [12.3, -38.2, ('A', 11.9464, -38.0536, 11.8, -37.7), ('L', 11.8, -32.3),
499 ('A', 11.9464, -31.9464, 12.3, -31.8), ('L', 17.7, -31.8), ('A', 18.0536, -31.9464, 18.2, -32.3),
500 ('L', 18.2, -36.0), ('A', 17.5556, -37.5556, 16.0, -38.2), ('L', 12.3, -38.2)],
501 [12.3, 38.2, ('L', 16.0, 38.2), ('A', 17.5556, 37.5556, 18.2, 36.0), ('L', 18.2, 32.3),
502 ('A', 18.0536, 31.9464, 17.7, 31.8), ('L', 12.3, 31.8), ('A', 11.9464, 31.9464, 11.8, 32.3),
503 ('L', 11.8, 37.7), ('A', 11.9464, 38.0536, 12.3, 38.2)],
504 [('C', 0.0, -20.0, 3.35)],
505 [-12.3, -38.2, ('L', -16.0, -38.2), ('A', -17.5556, -37.5556, -18.2, -36.0), ('L', -18.2, -32.3),
506 ('A', -18.0536, -31.9464, -17.7, -31.8), ('L', -12.3, -31.8), ('A', -11.9464, -31.9464, -11.8, -32.3),
507 ('L', -11.8, -37.7), ('A', -11.9464, -38.0536, -12.3, -38.2)],
508 [11.75, -8.25, ('L', 11.4754, -8.2522), ('L', 11.201, -8.2593), ('L', 10.9267, -8.2717),
509 ('L', 10.6527, -8.2902), ('L', 10.3794, -8.3157), ('L', 10.1069, -8.3493), ('L', 9.8357, -8.3922),
510 ('L', 9.5665, -8.4464), ('L', 9.3004, -8.5138), ('L', 9.039, -8.5976), ('L', 8.7849, -8.7014),
511 ('L', 8.5425, -8.83), ('L', 8.3189, -8.989), ('L', 8.1253, -9.1832), ('L', 7.9761, -9.4129),
512 ('L', 7.8829, -9.6706), ('L', 7.5158, -11.2176), ('L', 7.4059, -11.4721), ('L', 7.2431, -11.6965),
513 ('L', 7.04, -11.8855), ('L', 6.8098, -12.0405), ('L', 6.5623, -12.1664), ('L', 6.304, -12.2685),
514 ('L', 6.0389, -12.3512), ('L', 5.7694, -12.4181), ('L', 5.4969, -12.4719), ('L', 5.2224, -12.5147),
515 ('L', 4.9467, -12.5483), ('L', 4.6701, -12.5738), ('L', 4.3929, -12.5924), ('L', 4.1155, -12.6048),
516 ('L', 3.8378, -12.6119), ('L', 3.56, -12.6141), ('L', -3.56, -12.6141), ('L', -3.8378, -12.6119),
517 ('L', -4.1155, -12.6048), ('L', -4.3929, -12.5924), ('L', -4.6701, -12.5738), ('L', -4.9467, -12.5483),
518 ('L', -5.2224, -12.5147), ('L', -5.4969, -12.4719), ('L', -5.7694, -12.4181), ('L', -6.0389, -12.3512),
519 ('L', -6.304, -12.2685), ('L', -6.5623, -12.1664), ('L', -6.8098, -12.0405), ('L', -7.04, -11.8855),
520 ('L', -7.2431, -11.6965), ('L', -7.4059, -11.4721), ('L', -7.5158, -11.2176), ('L', -7.8829, -9.6706),
521 ('L', -7.9761, -9.4129), ('L', -8.1253, -9.1832), ('L', -8.3189, -8.989), ('L', -8.5425, -8.83),
522 ('L', -8.7849, -8.7014), ('L', -9.039, -8.5976), ('L', -9.3004, -8.5138), ('L', -9.5665, -8.4464),
523 ('L', -9.8357, -8.3922), ('L', -10.1069, -8.3493), ('L', -10.3794, -8.3157), ('L', -10.6527, -8.2902),
524 ('L', -10.9267, -8.2717), ('L', -11.201, -8.2593), ('L', -11.4754, -8.2522), ('L', -11.75, -8.25),
525 ('L', -15.5, -8.25), ('A', -17.2678, -7.5178, -18.0, -5.75), ('L', -18.0, 5.75),
526 ('A', -17.2678, 7.5178, -15.5, 8.25), ('L', -11.75, 8.25), ('L', -11.4737, 8.2522), ('L', -11.1975, 8.2593),
527 ('L', -10.9215, 8.2717), ('L', -10.6458, 8.2903), ('L', -10.3707, 8.3158), ('L', -10.0965, 8.3494),
528 ('L', -9.8236, 8.3923), ('L', -9.5526, 8.4463), ('L', -9.2847, 8.5135), ('L', -9.0213, 8.5968),
529 ('L', -8.765, 8.6997), ('L', -8.5199, 8.827), ('L', -8.2928, 8.9839), ('L', -8.0941, 9.1753),
530 ('L', -7.9375, 9.4023), ('L', -7.8354, 9.6584), ('L', -7.4167, 11.1923), ('L', -7.3255, 11.4502),
531 ('L', -7.1778, 11.6806), ('L', -6.9853, 11.8753), ('L', -6.7626, 12.0348), ('L', -6.5208, 12.1637),
532 ('L', -6.2671, 12.2677), ('L', -6.0061, 12.3515), ('L', -5.7404, 12.4191), ('L', -5.4717, 12.4732),
533 ('L', -5.2009, 12.5162), ('L', -4.9288, 12.5498), ('L', -4.6558, 12.5753), ('L', -4.3822, 12.5939),
534 ('L', -4.1083, 12.6063), ('L', -3.8342, 12.6133), ('L', -3.56, 12.6156), ('L', 3.56, 12.6156),
535 ('L', 3.8345, 12.6134), ('L', 4.1088, 12.6063), ('L', 4.383, 12.5939), ('L', 4.6569, 12.5754),
536 ('L', 4.9301, 12.5499), ('L', 5.2025, 12.5163), ('L', 5.4736, 12.4734), ('L', 5.7427, 12.4192),
537 ('L', 6.0087, 12.3517), ('L', 6.27, 12.268), ('L', 6.524, 12.1641), ('L', 6.7662, 12.0354),
538 ('L', 6.9896, 11.8763), ('L', 7.1828, 11.682), ('L', 7.3317, 11.4521), ('L', 7.4243, 11.1944),
539 ('L', 7.8391, 9.6594), ('L', 7.9405, 9.4032), ('L', 8.0965, 9.176), ('L', 8.2948, 8.9843),
540 ('L', 8.5216, 8.8272), ('L', 8.7665, 8.6999), ('L', 9.0227, 8.5969), ('L', 9.2859, 8.5136),
541 ('L', 9.5537, 8.4463), ('L', 9.8245, 8.3923), ('L', 10.0973, 8.3494), ('L', 10.3714, 8.3158),
542 ('L', 10.6464, 8.2903), ('L', 10.9219, 8.2717), ('L', 11.1978, 8.2593), ('L', 11.4739, 8.2522),
543 ('L', 11.75, 8.25), ('L', 15.5, 8.25), ('A', 17.2678, 7.5178, 18.0, 5.75), ('L', 18.0, -5.75),
544 ('A', 17.2678, -7.5178, 15.5, -8.25), ('L', 11.75, -8.25)],
545 [('C', 0.0, 20.0, 3.35)],
546 [-12.3, 38.2, ('A', -11.9464, 38.0536, -11.8, 37.7), ('L', -11.8, 32.3),
547 ('A', -11.9464, 31.9464, -12.3, 31.8), ('L', -17.7, 31.8), ('A', -18.0536, 31.9464, -18.2, 32.3),
548 ('L', -18.2, 36.0), ('A', -17.5556, 37.5556, -16.0, 38.2), ('L', -12.3, 38.2)],
549 ],
550}
551FINISHES = {"clear": "#cfd2d6", "black": "#2b2c2e"}
552
553
554def loop_wire(loop):
555 if isinstance(loop[0], (tuple, list)): # ("C", cx, cy, r)
556 _, cx, cy, r = loop[0]
557 return cq.Wire.makeCircle(r, cq.Vector(cx, cy, 0), cq.Vector(0, 0, 1))
558 x, y = loop[0], loop[1]
559 edges = []
560 for seg in loop[2:]:
561 start = cq.Vector(x, y, 0)
562 if seg[0] == "L":
563 x, y = seg[1], seg[2]
564 edges.append(cq.Edge.makeLine(start, cq.Vector(x, y, 0)))
565 else:
566 x, y = seg[3], seg[4]
567 edges.append(cq.Edge.makeThreePointArc(start, cq.Vector(seg[1], seg[2], 0), cq.Vector(x, y, 0)))
568 return cq.Wire.assembleEdges(edges)
569
570
571loops = [loop_wire(loop) for loop in PROFILES[profile]]
572section = cq.Face.makeFromWires(loops[0], loops[1:])
573body = cq.Workplane("XY").add(cq.Solid.extrudeLinear(section, cq.Vector(0, 0, length)))
574
575model = Model()
576model.add("profile", body, name="Profile")
577model.material("aluminum-generic", color=FINISHES[finish]) # 6063-T5 typical (no STEVE entry for 6063)
578result = model.result()
579

T-slot aluminium extrusion profiles with their real cross-sections, extruded to any length: 20 x 20 B-type slot 6, 20 x 20 I-type slot 5, 20 x 20 item-compatible slot 5, 20 x 40 B-type slot 6, 30 x 30 B-type slot 8, 30 x 30 Misumi HFS6 slot 8, 30 x 60 B-type slot 8, 40 x 40 light I-type slot 8 and 40 x 80 light I-type slot 8. Each section was measured from a published FreeCAD-library model (CC-BY-3.0; authors in the README); there is no manufacturer drawing behind them. Centred on the origin in the XY plane (longer side along Y), extruded along +Z.

T-slot extrusion

T-slot aluminium extrusion profiles with their real cross-sections, any length. Nine sections of the common 20, 30 and 40 mm series.

profile Section Slot Area, mm² Reference model
2020-B6 20 × 20 B-type, 6 174.34 Profile-20x20-B-Type_Slot6_A
2020-I5 20 × 20 I-type, 5 171.99 Profile-20x20-I-Type_Slot5
2020-I5-ISP 20 × 20 item-compatible, 5 181.70 Profile_20x20_I_Type_Slot5 (Item_Compatible_Profiles)
2040-B6 20 × 40 B-type, 6 286.73 Profile-20x40-B-Type_Slot6
3030-B8 30 × 30 B-type, 8 313.82 Profile-30x30-B-Type_Slot8
3030-HFS6 30 × 30 Misumi HFS6, 8 335.11 misumi_profile_hfs_serie6_w8_30x30
3060-B8 30 × 60 B-type, 8 552.58 Profile-30x60-B-Type_Slot8
4040L-I8 40 × 40 light I-type, 8 657.01 Profile-40x40L-I-Type_Slot8
4080L-I8 40 × 80 light I-type, 8 1133.45 Profile-40x80L-I-Type_Slot8-Body

Geometry

Each section is centred on the origin in the XY plane, its longer side along Y, and extruded along +Z by length. The section is the reference model's own outline at mid-length, written in the recipe as a table (PROFILES, in part.py): loops of lines and arcs (each arc by its two ends and its midpoint), the outside first, then the cavities and bores.

Parameters

Parameter Meaning
profile the section (table above)
length mm
finish anodising colour, clear or black (appearance only)

Sources

There is no manufacturer drawing behind these sections: the geometry was measured from the published reference models below. Each model's cross-section was cut at mid-length with OCCT and every edge read exactly (line ends; each arc's ends and midpoint), centred on the section's bounding box and rounded to 0.0001 mm; the recipe re-draws those outlines in its own code. Every preset is checked against its own reference model (the catalogue entry it comes from): bounding box within 0.05 mm (0.5 % over 100 mm), volume within 2 %, section area within 2 % and the section outline within 0.1 mm of the model's.

All models are from FreeCAD-library (https://github.com/FreeCAD/FreeCAD-library, commit 2e36ae32), licensed under CC-BY-3.0 (the library's licence for all its parts), and distributed by step.parts (https://www.step.parts, entries profile_*, identical geometry; its length variants *_l50 to *_l2000 are the same sections). No endorsement by the authors or the FreeCAD project is implied.

  • Mechanical Parts/Profiles EN/Generic/Profile-20x20-B-Type_Slot6_A.step, Profile-20x20-I-Type_Slot5.step, Profile-20x40-B-Type_Slot6.step, Profile-30x30-B-Type_Slot8.step, Profile-30x60-B-Type_Slot8.step, Profile-40x40L-I-Type_Slot8.step, Profile-40x80L-I-Type_Slot8-Body.step: by mathis (GitHub Int-Circuit).
  • Mechanical Parts/Profiles EN/Item_Compatible_Profiles/Profile_20x20_I_Type_Slot5.stp: by Stefan Katerkamp.
  • Mechanical Parts/Profiles EN/Misumi_profiles/misumi_profile_hfs_serie6_w8_30x30.step: by Felipe Machado.

Simplifications: the 40 × 80 model's eight spline edges are drawn as 16 chords each (within 0.01 mm); otherwise none beyond the models' own (no end threads). The B-type and I-type models are generic sections of those slot systems; makers' sections differ in detail, so check a specific maker's drawing where it matters.

The catalogue's tslot_*_l0600 entries are step.parts' simplified stand-ins (a rectangle with one rectangular groove per face), not T-slot sections, and are not presets. Preset list: from the step.parts catalogue (MIT), see library/NOTICE.md; entries without a length (the base models) are presets at the model's own length.

  1. 2.0.0 Latest Compare with 1.1.0
  2. 1.1.0 Yanked Compare with 1.0.0

    Materials and finishes: each part is made of its standard's engineering material, with its usual finish.

  3. 1.0.0 Yanked

    Yanked: Superseded by pythonparts/t-slot-extrusion and pythonparts/v-slot-extrusion: the real measured profiles, not a simplified one.

More #profile
STEVEMIT

steve/extrusion-corner-bracket

Corner bracket envelope for 2020, 3030 and 4040 extrusions: two flat legs at a right angle (simplified, no holes).

0 6 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/v-slot-extrusion

20 x 20 V-slot aluminium extrusion, any length, measured from the published FreeCAD-library model.

0 12 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/makerbeam-profile

MakerBeam 10 x 10 mm aluminium profile, any length, from MakerBeam's own drawing.

0 14 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/extrusion-accessory

T-slot extrusion accessories (end cap, cover strip, anchor fastener, inside corner connector), 20/30/40 series: simplified.

0 12 sizes 0 1 day ago v1.0.0