Sign in with STEVE

Compare versions

4 files changed, +1423 −34

part.py +569 −22
@@ -1,32 +1,579 @@
1"""Aluminium T-slot extrusion, metric series. Simplified profile: square section with a rectangular slot on each
2side and a centre bore. Slot shapes differ between makers: check your supplier's drawing for exact fits.
3The profile is centred on the origin in XY and extruded along +Z.
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.
43
5Material: aluminium, clear anodized (6061-T6 from the material library; T-slot profiles are usually 6063-T5/T6, whose density and look are the same)."""
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
610from steve import Model
711
8series = "2020" # Profile series
12profile = "2020-B6" # Profile
913length = 100 # mm Length
14finish = "clear" # Anodising
1015
11# series: (side a, slot opening w, slot depth t, centre bore b)
12SERIES = {
13 '2020': (20.0, 6.2, 6.0, 4.2),
14 '3030': (30.0, 8.2, 9.0, 6.8),
15 '4040': (40.0, 8.2, 12.0, 6.8),
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 ],
16550}
17a, w, t, b = SERIES[series]
18h = a / 2
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)))
19574
20575model = Model()
21with model.sketch("profile", on="XY", name="Section") as sk:
22 sk.polyline("outline", [
23 (-h, -h), (-w / 2, -h), (-w / 2, -h + t), (w / 2, -h + t), (w / 2, -h),
24 (h, -h), (h, -w / 2), (h - t, -w / 2), (h - t, w / 2), (h, w / 2),
25 (h, h), (w / 2, h), (w / 2, h - t), (-w / 2, h - t), (-w / 2, h),
26 (-h, h), (-h, w / 2), (-h + t, w / 2), (-h + t, -w / 2), (-h, -w / 2),
27 ])
28 sk.circle("bore", (0, 0), b / 2)
29model.extrude("bar", "profile", distance=length)
30model.material("aluminum-6061-t6", finish="anodized") # clear anodized aluminium
576model.add("profile", body, name="Profile")
577model.material("aluminum-generic", color=FINISHES[finish]) # 6063-T5 typical (no STEVE entry for 6063)
31578result = model.result()
32579
pypart.toml +22 −12
@@ -1,24 +1,34 @@
11name = "steve/t-slot-extrusion"
2version = "1.1.0"
2version = "2.0.0"
33runtime = "steve"
44license = "MIT"
5summary = "T-slot aluminium extrusion, 2020 / 3030 / 4040, simplified profile, any length."
6description = "Aluminium T-slot extrusion, metric series. Simplified profile: square section with a rectangular slot on each\nside and a centre bore. Slot shapes differ between makers: check your supplier's drawing for exact fits.\nThe profile is centred on the origin in XY and extruded along +Z.\n\nMaterial: aluminium, clear anodized (6061-T6 from the material library; T-slot profiles are usually 6063-T5/T6, whose density and look are the same).\n\nDimensions from STEVE's standard-part tables (nominal values of the standard). Envelope geometry: no modelled thread."
7tags = ["extrusion", "t-slot", "frame", "aluminium"]
8changes = "Materials and finishes: each part is made of its standard's engineering material, with its usual finish."
5summary = "T-slot aluminium extrusions with real cross-sections (2020, 2040, 3030, 3060, 4040, 4080; slot 5, 6, 8), any length."
6description = """T-slot aluminium extrusion profiles with their real cross-sections, extruded to any length: 20 x 20 \
7B-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, \
830 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.
99
10[parameters.series]
10Each section was measured from a published FreeCAD-library model (CC-BY-3.0; authors in the README); there is no \
11manufacturer drawing behind them. Centred on the origin in the XY plane (longer side along Y), extruded along +Z."""
12tags = ["profile", "extrusion", "aluminium", "t-slot", "2020", "3030", "4040", "frame", "metric"]
13
14[parameters.profile]
1115type = "choice"
12default = "2020"
13choices = ["2020", "3030", "4040"]
14label = "Series"
16default = "2020-B6"
17choices = ["2020-B6", "2020-I5", "2020-I5-ISP", "2040-B6", "3030-B8", "3030-HFS6", "3060-B8", "4040L-I8", "4080L-I8"]
18label = "Profile"
19description = "Section and slot: 2020-B6 (20 x 20 B-type slot 6), 2020-I5 (I-type slot 5), 2020-I5-ISP (item-compatible slot 5), 2040-B6, 3030-B8, 3030-HFS6 (Misumi HFS6), 3060-B8, 4040L-I8 and 4080L-I8 (light I-type slot 8)."
1520
1621[parameters.length]
1722type = "number"
1823default = 100
19min = 10
20max = 3000
21step = 1
24min = 5
25max = 6000
2226unit = "mm"
2327label = "Length"
2428
29[parameters.finish]
30type = "choice"
31default = "clear"
32choices = ["clear", "black"]
33label = "Anodising"
34
presets.toml added in 2.0.0
@@ -1,0 +1,772 @@
1# Presets of this part (factory/PRESETS.md). Written by factory/gen.py.
2
3[[presets]]
4id = "2020-B6-50"
5title = "T-slot 20 × 20 B-type slot 6, 50 mm"
6params = { profile = "2020-B6", length = 50 }
7aliases = ["2020 B-type slot 6 50 mm", "20x20 slot 6 profile 50 mm", "2020 extrusion 50 mm", "20 x 20 extrusion 50 mm", "2020 B-type extrusion 50 mm"]
8standard = "FreeCAD-library T-slot profile"
9
10[[presets]]
11id = "2020-B6-100"
12title = "T-slot 20 × 20 B-type slot 6, 100 mm"
13params = { profile = "2020-B6", length = 100 }
14aliases = ["2020 B-type slot 6 100 mm", "20x20 slot 6 profile 100 mm", "2020 extrusion 100 mm", "20 x 20 extrusion 100 mm", "2020 B-type extrusion 100 mm"]
15standard = "FreeCAD-library T-slot profile"
16
17[[presets]]
18id = "2020-B6-150"
19title = "T-slot 20 × 20 B-type slot 6, 150 mm"
20params = { profile = "2020-B6", length = 150 }
21aliases = ["2020 B-type slot 6 150 mm", "20x20 slot 6 profile 150 mm", "2020 extrusion 150 mm", "20 x 20 extrusion 150 mm", "2020 B-type extrusion 150 mm"]
22standard = "FreeCAD-library T-slot profile"
23
24[[presets]]
25id = "2020-B6-200"
26title = "T-slot 20 × 20 B-type slot 6, 200 mm"
27params = { profile = "2020-B6", length = 200 }
28aliases = ["2020 B-type slot 6 200 mm", "20x20 slot 6 profile 200 mm", "2020 extrusion 200 mm", "20 x 20 extrusion 200 mm", "2020 B-type extrusion 200 mm"]
29standard = "FreeCAD-library T-slot profile"
30
31[[presets]]
32id = "2020-B6-250"
33title = "T-slot 20 × 20 B-type slot 6, 250 mm"
34params = { profile = "2020-B6", length = 250 }
35aliases = ["2020 B-type slot 6 250 mm", "20x20 slot 6 profile 250 mm", "2020 extrusion 250 mm", "20 x 20 extrusion 250 mm", "2020 B-type extrusion 250 mm"]
36standard = "FreeCAD-library T-slot profile"
37
38[[presets]]
39id = "2020-B6-300"
40title = "T-slot 20 × 20 B-type slot 6, 300 mm"
41params = { profile = "2020-B6", length = 300 }
42aliases = ["2020 B-type slot 6 300 mm", "20x20 slot 6 profile 300 mm", "2020 extrusion 300 mm", "20 x 20 extrusion 300 mm", "2020 B-type extrusion 300 mm"]
43standard = "FreeCAD-library T-slot profile"
44
45[[presets]]
46id = "2020-B6-380"
47title = "T-slot 20 × 20 B-type slot 6, 380 mm"
48params = { profile = "2020-B6", length = 380 }
49aliases = ["2020 B-type slot 6 380 mm", "20x20 slot 6 profile 380 mm", "2020 B-type slot-6 extrusion"]
50standard = "FreeCAD-library T-slot profile"
51
52[[presets]]
53id = "2020-B6-400"
54title = "T-slot 20 × 20 B-type slot 6, 400 mm"
55params = { profile = "2020-B6", length = 400 }
56aliases = ["2020 B-type slot 6 400 mm", "20x20 slot 6 profile 400 mm", "2020 extrusion 400 mm", "20 x 20 extrusion 400 mm", "2020 B-type extrusion 400 mm"]
57standard = "FreeCAD-library T-slot profile"
58
59[[presets]]
60id = "2020-B6-500"
61title = "T-slot 20 × 20 B-type slot 6, 500 mm"
62params = { profile = "2020-B6", length = 500 }
63aliases = ["2020 B-type slot 6 500 mm", "20x20 slot 6 profile 500 mm", "2020 extrusion 500 mm", "20 x 20 extrusion 500 mm", "2020 B-type extrusion 500 mm"]
64standard = "FreeCAD-library T-slot profile"
65
66[[presets]]
67id = "2020-B6-750"
68title = "T-slot 20 × 20 B-type slot 6, 750 mm"
69params = { profile = "2020-B6", length = 750 }
70aliases = ["2020 B-type slot 6 750 mm", "20x20 slot 6 profile 750 mm", "2020 extrusion 750 mm", "20 x 20 extrusion 750 mm", "2020 B-type extrusion 750 mm"]
71standard = "FreeCAD-library T-slot profile"
72
73[[presets]]
74id = "2020-B6-1000"
75title = "T-slot 20 × 20 B-type slot 6, 1000 mm"
76params = { profile = "2020-B6", length = 1000 }
77aliases = ["2020 B-type slot 6 1000 mm", "20x20 slot 6 profile 1000 mm", "2020 extrusion 1000 mm", "20 x 20 extrusion 1000 mm", "2020 B-type extrusion 1000 mm"]
78standard = "FreeCAD-library T-slot profile"
79
80[[presets]]
81id = "2020-B6-1500"
82title = "T-slot 20 × 20 B-type slot 6, 1500 mm"
83params = { profile = "2020-B6", length = 1500 }
84aliases = ["2020 B-type slot 6 1500 mm", "20x20 slot 6 profile 1500 mm", "2020 extrusion 1500 mm", "20 x 20 extrusion 1500 mm", "2020 B-type extrusion 1500 mm"]
85standard = "FreeCAD-library T-slot profile"
86
87[[presets]]
88id = "2020-B6-2000"
89title = "T-slot 20 × 20 B-type slot 6, 2000 mm"
90params = { profile = "2020-B6", length = 2000 }
91aliases = ["2020 B-type slot 6 2000 mm", "20x20 slot 6 profile 2000 mm", "2020 extrusion 2000 mm", "20 x 20 extrusion 2000 mm", "2020 B-type extrusion 2000 mm"]
92standard = "FreeCAD-library T-slot profile"
93
94[[presets]]
95id = "2020-I5-50"
96title = "T-slot 20 × 20 I-type slot 5, 50 mm"
97params = { profile = "2020-I5", length = 50 }
98aliases = ["2020 I-type slot 5 50 mm", "20x20 slot 5 profile 50 mm", "2020 extrusion 50 mm", "20 x 20 extrusion 50 mm", "2020 I-type extrusion 50 mm"]
99standard = "FreeCAD-library T-slot profile"
100
101[[presets]]
102id = "2020-I5-100"
103title = "T-slot 20 × 20 I-type slot 5, 100 mm"
104params = { profile = "2020-I5", length = 100 }
105aliases = ["2020 I-type slot 5 100 mm", "20x20 slot 5 profile 100 mm", "2020 extrusion 100 mm", "20 x 20 extrusion 100 mm", "2020 I-type extrusion 100 mm"]
106standard = "FreeCAD-library T-slot profile"
107
108[[presets]]
109id = "2020-I5-150"
110title = "T-slot 20 × 20 I-type slot 5, 150 mm"
111params = { profile = "2020-I5", length = 150 }
112aliases = ["2020 I-type slot 5 150 mm", "20x20 slot 5 profile 150 mm", "2020 extrusion 150 mm", "20 x 20 extrusion 150 mm", "2020 I-type extrusion 150 mm"]
113standard = "FreeCAD-library T-slot profile"
114
115[[presets]]
116id = "2020-I5-200"
117title = "T-slot 20 × 20 I-type slot 5, 200 mm"
118params = { profile = "2020-I5", length = 200 }
119aliases = ["2020 I-type slot 5 200 mm", "20x20 slot 5 profile 200 mm", "2020 I-type slot-5 extrusion", "T-slot 20 × 20 I-type slot 5, 200 mm", "2020 extrusion 200 mm", "20 x 20 extrusion 200 mm", "2020 I-type extrusion 200 mm"]
120standard = "FreeCAD-library T-slot profile"
121
122[[presets]]
123id = "2020-I5-250"
124title = "T-slot 20 × 20 I-type slot 5, 250 mm"
125params = { profile = "2020-I5", length = 250 }
126aliases = ["2020 I-type slot 5 250 mm", "20x20 slot 5 profile 250 mm", "2020 extrusion 250 mm", "20 x 20 extrusion 250 mm", "2020 I-type extrusion 250 mm"]
127standard = "FreeCAD-library T-slot profile"
128
129[[presets]]
130id = "2020-I5-300"
131title = "T-slot 20 × 20 I-type slot 5, 300 mm"
132params = { profile = "2020-I5", length = 300 }
133aliases = ["2020 I-type slot 5 300 mm", "20x20 slot 5 profile 300 mm", "2020 extrusion 300 mm", "20 x 20 extrusion 300 mm", "2020 I-type extrusion 300 mm"]
134standard = "FreeCAD-library T-slot profile"
135
136[[presets]]
137id = "2020-I5-400"
138title = "T-slot 20 × 20 I-type slot 5, 400 mm"
139params = { profile = "2020-I5", length = 400 }
140aliases = ["2020 I-type slot 5 400 mm", "20x20 slot 5 profile 400 mm", "2020 extrusion 400 mm", "20 x 20 extrusion 400 mm", "2020 I-type extrusion 400 mm"]
141standard = "FreeCAD-library T-slot profile"
142
143[[presets]]
144id = "2020-I5-500"
145title = "T-slot 20 × 20 I-type slot 5, 500 mm"
146params = { profile = "2020-I5", length = 500 }
147aliases = ["2020 I-type slot 5 500 mm", "20x20 slot 5 profile 500 mm", "2020 extrusion 500 mm", "20 x 20 extrusion 500 mm", "2020 I-type extrusion 500 mm"]
148standard = "FreeCAD-library T-slot profile"
149
150[[presets]]
151id = "2020-I5-750"
152title = "T-slot 20 × 20 I-type slot 5, 750 mm"
153params = { profile = "2020-I5", length = 750 }
154aliases = ["2020 I-type slot 5 750 mm", "20x20 slot 5 profile 750 mm", "2020 extrusion 750 mm", "20 x 20 extrusion 750 mm", "2020 I-type extrusion 750 mm"]
155standard = "FreeCAD-library T-slot profile"
156
157[[presets]]
158id = "2020-I5-1000"
159title = "T-slot 20 × 20 I-type slot 5, 1000 mm"
160params = { profile = "2020-I5", length = 1000 }
161aliases = ["2020 I-type slot 5 1000 mm", "20x20 slot 5 profile 1000 mm", "2020 extrusion 1000 mm", "20 x 20 extrusion 1000 mm", "2020 I-type extrusion 1000 mm"]
162standard = "FreeCAD-library T-slot profile"
163
164[[presets]]
165id = "2020-I5-1500"
166title = "T-slot 20 × 20 I-type slot 5, 1500 mm"
167params = { profile = "2020-I5", length = 1500 }
168aliases = ["2020 I-type slot 5 1500 mm", "20x20 slot 5 profile 1500 mm", "2020 extrusion 1500 mm", "20 x 20 extrusion 1500 mm", "2020 I-type extrusion 1500 mm"]
169standard = "FreeCAD-library T-slot profile"
170
171[[presets]]
172id = "2020-I5-2000"
173title = "T-slot 20 × 20 I-type slot 5, 2000 mm"
174params = { profile = "2020-I5", length = 2000 }
175aliases = ["2020 I-type slot 5 2000 mm", "20x20 slot 5 profile 2000 mm", "2020 extrusion 2000 mm", "20 x 20 extrusion 2000 mm", "2020 I-type extrusion 2000 mm"]
176standard = "FreeCAD-library T-slot profile"
177
178[[presets]]
179id = "2020-I5-ISP-10"
180title = "T-slot 20 × 20 item-compatible slot 5, 10 mm"
181params = { profile = "2020-I5-ISP", length = 10 }
182aliases = ["item compatible 20x20 slot 5 10 mm", "ISP 20x20 10 mm"]
183standard = "FreeCAD-library T-slot profile"
184
185[[presets]]
186id = "2020-I5-ISP-50"
187title = "T-slot 20 × 20 item-compatible slot 5, 50 mm"
188params = { profile = "2020-I5-ISP", length = 50 }
189aliases = ["item compatible 20x20 slot 5 50 mm", "ISP 20x20 50 mm", "2020 extrusion 50 mm", "20 x 20 extrusion 50 mm", "2020 I-type extrusion 50 mm"]
190standard = "FreeCAD-library T-slot profile"
191
192[[presets]]
193id = "2020-I5-ISP-100"
194title = "T-slot 20 × 20 item-compatible slot 5, 100 mm"
195params = { profile = "2020-I5-ISP", length = 100 }
196aliases = ["item compatible 20x20 slot 5 100 mm", "ISP 20x20 100 mm", "2020 extrusion 100 mm", "20 x 20 extrusion 100 mm", "2020 I-type extrusion 100 mm"]
197standard = "FreeCAD-library T-slot profile"
198
199[[presets]]
200id = "2020-I5-ISP-150"
201title = "T-slot 20 × 20 item-compatible slot 5, 150 mm"
202params = { profile = "2020-I5-ISP", length = 150 }
203aliases = ["item compatible 20x20 slot 5 150 mm", "ISP 20x20 150 mm", "2020 extrusion 150 mm", "20 x 20 extrusion 150 mm", "2020 I-type extrusion 150 mm"]
204standard = "FreeCAD-library T-slot profile"
205
206[[presets]]
207id = "2020-I5-ISP-200"
208title = "T-slot 20 × 20 item-compatible slot 5, 200 mm"
209params = { profile = "2020-I5-ISP", length = 200 }
210aliases = ["item compatible 20x20 slot 5 200 mm", "ISP 20x20 200 mm", "2020 extrusion 200 mm", "20 x 20 extrusion 200 mm", "2020 I-type extrusion 200 mm"]
211standard = "FreeCAD-library T-slot profile"
212
213[[presets]]
214id = "2020-I5-ISP-250"
215title = "T-slot 20 × 20 item-compatible slot 5, 250 mm"
216params = { profile = "2020-I5-ISP", length = 250 }
217aliases = ["item compatible 20x20 slot 5 250 mm", "ISP 20x20 250 mm", "2020 extrusion 250 mm", "20 x 20 extrusion 250 mm", "2020 I-type extrusion 250 mm"]
218standard = "FreeCAD-library T-slot profile"
219
220[[presets]]
221id = "2020-I5-ISP-300"
222title = "T-slot 20 × 20 item-compatible slot 5, 300 mm"
223params = { profile = "2020-I5-ISP", length = 300 }
224aliases = ["item compatible 20x20 slot 5 300 mm", "ISP 20x20 300 mm", "2020 extrusion 300 mm", "20 x 20 extrusion 300 mm", "2020 I-type extrusion 300 mm"]
225standard = "FreeCAD-library T-slot profile"
226
227[[presets]]
228id = "2020-I5-ISP-400"
229title = "T-slot 20 × 20 item-compatible slot 5, 400 mm"
230params = { profile = "2020-I5-ISP", length = 400 }
231aliases = ["item compatible 20x20 slot 5 400 mm", "ISP 20x20 400 mm", "2020 extrusion 400 mm", "20 x 20 extrusion 400 mm", "2020 I-type extrusion 400 mm"]
232standard = "FreeCAD-library T-slot profile"
233
234[[presets]]
235id = "2020-I5-ISP-500"
236title = "T-slot 20 × 20 item-compatible slot 5, 500 mm"
237params = { profile = "2020-I5-ISP", length = 500 }
238aliases = ["item compatible 20x20 slot 5 500 mm", "ISP 20x20 500 mm", "2020 extrusion 500 mm", "20 x 20 extrusion 500 mm", "2020 I-type extrusion 500 mm"]
239standard = "FreeCAD-library T-slot profile"
240
241[[presets]]
242id = "2020-I5-ISP-750"
243title = "T-slot 20 × 20 item-compatible slot 5, 750 mm"
244params = { profile = "2020-I5-ISP", length = 750 }
245aliases = ["item compatible 20x20 slot 5 750 mm", "ISP 20x20 750 mm", "2020 extrusion 750 mm", "20 x 20 extrusion 750 mm", "2020 I-type extrusion 750 mm"]
246standard = "FreeCAD-library T-slot profile"
247
248[[presets]]
249id = "2020-I5-ISP-1000"
250title = "T-slot 20 × 20 item-compatible slot 5, 1000 mm"
251params = { profile = "2020-I5-ISP", length = 1000 }
252aliases = ["item compatible 20x20 slot 5 1000 mm", "ISP 20x20 1000 mm", "2020 extrusion 1000 mm", "20 x 20 extrusion 1000 mm", "2020 I-type extrusion 1000 mm"]
253standard = "FreeCAD-library T-slot profile"
254
255[[presets]]
256id = "2020-I5-ISP-1500"
257title = "T-slot 20 × 20 item-compatible slot 5, 1500 mm"
258params = { profile = "2020-I5-ISP", length = 1500 }
259aliases = ["item compatible 20x20 slot 5 1500 mm", "ISP 20x20 1500 mm", "2020 extrusion 1500 mm", "20 x 20 extrusion 1500 mm", "2020 I-type extrusion 1500 mm"]
260standard = "FreeCAD-library T-slot profile"
261
262[[presets]]
263id = "2020-I5-ISP-2000"
264title = "T-slot 20 × 20 item-compatible slot 5, 2000 mm"
265params = { profile = "2020-I5-ISP", length = 2000 }
266aliases = ["item compatible 20x20 slot 5 2000 mm", "ISP 20x20 2000 mm", "2020 extrusion 2000 mm", "20 x 20 extrusion 2000 mm", "2020 I-type extrusion 2000 mm"]
267standard = "FreeCAD-library T-slot profile"
268
269[[presets]]
270id = "2040-B6-50"
271title = "T-slot 20 × 40 B-type slot 6, 50 mm"
272params = { profile = "2040-B6", length = 50 }
273aliases = ["2040 B-type slot 6 50 mm", "20x40 slot 6 profile 50 mm", "2040 extrusion 50 mm", "20 x 40 extrusion 50 mm", "2040 B-type extrusion 50 mm"]
274standard = "FreeCAD-library T-slot profile"
275
276[[presets]]
277id = "2040-B6-100"
278title = "T-slot 20 × 40 B-type slot 6, 100 mm"
279params = { profile = "2040-B6", length = 100 }
280aliases = ["2040 B-type slot 6 100 mm", "20x40 slot 6 profile 100 mm", "2040 B-type slot-6 extrusion", "T-slot 20 × 40 B-type slot 6, 100 mm", "2040 extrusion 100 mm", "20 x 40 extrusion 100 mm", "2040 B-type extrusion 100 mm"]
281standard = "FreeCAD-library T-slot profile"
282
283[[presets]]
284id = "2040-B6-150"
285title = "T-slot 20 × 40 B-type slot 6, 150 mm"
286params = { profile = "2040-B6", length = 150 }
287aliases = ["2040 B-type slot 6 150 mm", "20x40 slot 6 profile 150 mm", "2040 extrusion 150 mm", "20 x 40 extrusion 150 mm", "2040 B-type extrusion 150 mm"]
288standard = "FreeCAD-library T-slot profile"
289
290[[presets]]
291id = "2040-B6-200"
292title = "T-slot 20 × 40 B-type slot 6, 200 mm"
293params = { profile = "2040-B6", length = 200 }
294aliases = ["2040 B-type slot 6 200 mm", "20x40 slot 6 profile 200 mm", "2040 extrusion 200 mm", "20 x 40 extrusion 200 mm", "2040 B-type extrusion 200 mm"]
295standard = "FreeCAD-library T-slot profile"
296
297[[presets]]
298id = "2040-B6-250"
299title = "T-slot 20 × 40 B-type slot 6, 250 mm"
300params = { profile = "2040-B6", length = 250 }
301aliases = ["2040 B-type slot 6 250 mm", "20x40 slot 6 profile 250 mm", "2040 extrusion 250 mm", "20 x 40 extrusion 250 mm", "2040 B-type extrusion 250 mm"]
302standard = "FreeCAD-library T-slot profile"
303
304[[presets]]
305id = "2040-B6-300"
306title = "T-slot 20 × 40 B-type slot 6, 300 mm"
307params = { profile = "2040-B6", length = 300 }
308aliases = ["2040 B-type slot 6 300 mm", "20x40 slot 6 profile 300 mm", "2040 extrusion 300 mm", "20 x 40 extrusion 300 mm", "2040 B-type extrusion 300 mm"]
309standard = "FreeCAD-library T-slot profile"
310
311[[presets]]
312id = "2040-B6-400"
313title = "T-slot 20 × 40 B-type slot 6, 400 mm"
314params = { profile = "2040-B6", length = 400 }
315aliases = ["2040 B-type slot 6 400 mm", "20x40 slot 6 profile 400 mm", "2040 extrusion 400 mm", "20 x 40 extrusion 400 mm", "2040 B-type extrusion 400 mm"]
316standard = "FreeCAD-library T-slot profile"
317
318[[presets]]
319id = "2040-B6-500"
320title = "T-slot 20 × 40 B-type slot 6, 500 mm"
321params = { profile = "2040-B6", length = 500 }
322aliases = ["2040 B-type slot 6 500 mm", "20x40 slot 6 profile 500 mm", "2040 extrusion 500 mm", "20 x 40 extrusion 500 mm", "2040 B-type extrusion 500 mm"]
323standard = "FreeCAD-library T-slot profile"
324
325[[presets]]
326id = "2040-B6-750"
327title = "T-slot 20 × 40 B-type slot 6, 750 mm"
328params = { profile = "2040-B6", length = 750 }
329aliases = ["2040 B-type slot 6 750 mm", "20x40 slot 6 profile 750 mm", "2040 extrusion 750 mm", "20 x 40 extrusion 750 mm", "2040 B-type extrusion 750 mm"]
330standard = "FreeCAD-library T-slot profile"
331
332[[presets]]
333id = "2040-B6-1000"
334title = "T-slot 20 × 40 B-type slot 6, 1000 mm"
335params = { profile = "2040-B6", length = 1000 }
336aliases = ["2040 B-type slot 6 1000 mm", "20x40 slot 6 profile 1000 mm", "2040 extrusion 1000 mm", "20 x 40 extrusion 1000 mm", "2040 B-type extrusion 1000 mm"]
337standard = "FreeCAD-library T-slot profile"
338
339[[presets]]
340id = "2040-B6-1500"
341title = "T-slot 20 × 40 B-type slot 6, 1500 mm"
342params = { profile = "2040-B6", length = 1500 }
343aliases = ["2040 B-type slot 6 1500 mm", "20x40 slot 6 profile 1500 mm", "2040 extrusion 1500 mm", "20 x 40 extrusion 1500 mm", "2040 B-type extrusion 1500 mm"]
344standard = "FreeCAD-library T-slot profile"
345
346[[presets]]
347id = "2040-B6-2000"
348title = "T-slot 20 × 40 B-type slot 6, 2000 mm"
349params = { profile = "2040-B6", length = 2000 }
350aliases = ["2040 B-type slot 6 2000 mm", "20x40 slot 6 profile 2000 mm", "2040 extrusion 2000 mm", "20 x 40 extrusion 2000 mm", "2040 B-type extrusion 2000 mm"]
351standard = "FreeCAD-library T-slot profile"
352
353[[presets]]
354id = "3030-B8-50"
355title = "T-slot 30 × 30 B-type slot 8, 50 mm"
356params = { profile = "3030-B8", length = 50 }
357aliases = ["3030 B-type slot 8 50 mm", "30x30 slot 8 profile 50 mm", "3030 extrusion 50 mm", "30 x 30 extrusion 50 mm", "3030 B-type extrusion 50 mm"]
358standard = "FreeCAD-library T-slot profile"
359
360[[presets]]
361id = "3030-B8-100"
362title = "T-slot 30 × 30 B-type slot 8, 100 mm"
363params = { profile = "3030-B8", length = 100 }
364aliases = ["3030 B-type slot 8 100 mm", "30x30 slot 8 profile 100 mm", "3030 B-type slot-8 extrusion", "T-slot 30 × 30 B-type slot 8, 100 mm", "3030 extrusion 100 mm", "30 x 30 extrusion 100 mm", "3030 B-type extrusion 100 mm"]
365standard = "FreeCAD-library T-slot profile"
366
367[[presets]]
368id = "3030-B8-150"
369title = "T-slot 30 × 30 B-type slot 8, 150 mm"
370params = { profile = "3030-B8", length = 150 }
371aliases = ["3030 B-type slot 8 150 mm", "30x30 slot 8 profile 150 mm", "3030 extrusion 150 mm", "30 x 30 extrusion 150 mm", "3030 B-type extrusion 150 mm"]
372standard = "FreeCAD-library T-slot profile"
373
374[[presets]]
375id = "3030-B8-200"
376title = "T-slot 30 × 30 B-type slot 8, 200 mm"
377params = { profile = "3030-B8", length = 200 }
378aliases = ["3030 B-type slot 8 200 mm", "30x30 slot 8 profile 200 mm", "3030 extrusion 200 mm", "30 x 30 extrusion 200 mm", "3030 B-type extrusion 200 mm"]
379standard = "FreeCAD-library T-slot profile"
380
381[[presets]]
382id = "3030-B8-250"
383title = "T-slot 30 × 30 B-type slot 8, 250 mm"
384params = { profile = "3030-B8", length = 250 }
385aliases = ["3030 B-type slot 8 250 mm", "30x30 slot 8 profile 250 mm", "3030 extrusion 250 mm", "30 x 30 extrusion 250 mm", "3030 B-type extrusion 250 mm"]
386standard = "FreeCAD-library T-slot profile"
387
388[[presets]]
389id = "3030-B8-300"
390title = "T-slot 30 × 30 B-type slot 8, 300 mm"
391params = { profile = "3030-B8", length = 300 }
392aliases = ["3030 B-type slot 8 300 mm", "30x30 slot 8 profile 300 mm", "3030 extrusion 300 mm", "30 x 30 extrusion 300 mm", "3030 B-type extrusion 300 mm"]
393standard = "FreeCAD-library T-slot profile"
394
395[[presets]]
396id = "3030-B8-400"
397title = "T-slot 30 × 30 B-type slot 8, 400 mm"
398params = { profile = "3030-B8", length = 400 }
399aliases = ["3030 B-type slot 8 400 mm", "30x30 slot 8 profile 400 mm", "3030 extrusion 400 mm", "30 x 30 extrusion 400 mm", "3030 B-type extrusion 400 mm"]
400standard = "FreeCAD-library T-slot profile"
401
402[[presets]]
403id = "3030-B8-500"
404title = "T-slot 30 × 30 B-type slot 8, 500 mm"
405params = { profile = "3030-B8", length = 500 }
406aliases = ["3030 B-type slot 8 500 mm", "30x30 slot 8 profile 500 mm", "3030 extrusion 500 mm", "30 x 30 extrusion 500 mm", "3030 B-type extrusion 500 mm"]
407standard = "FreeCAD-library T-slot profile"
408
409[[presets]]
410id = "3030-B8-750"
411title = "T-slot 30 × 30 B-type slot 8, 750 mm"
412params = { profile = "3030-B8", length = 750 }
413aliases = ["3030 B-type slot 8 750 mm", "30x30 slot 8 profile 750 mm", "3030 extrusion 750 mm", "30 x 30 extrusion 750 mm", "3030 B-type extrusion 750 mm"]
414standard = "FreeCAD-library T-slot profile"
415
416[[presets]]
417id = "3030-B8-1000"
418title = "T-slot 30 × 30 B-type slot 8, 1000 mm"
419params = { profile = "3030-B8", length = 1000 }
420aliases = ["3030 B-type slot 8 1000 mm", "30x30 slot 8 profile 1000 mm", "3030 extrusion 1000 mm", "30 x 30 extrusion 1000 mm", "3030 B-type extrusion 1000 mm"]
421standard = "FreeCAD-library T-slot profile"
422
423[[presets]]
424id = "3030-B8-1500"
425title = "T-slot 30 × 30 B-type slot 8, 1500 mm"
426params = { profile = "3030-B8", length = 1500 }
427aliases = ["3030 B-type slot 8 1500 mm", "30x30 slot 8 profile 1500 mm", "3030 extrusion 1500 mm", "30 x 30 extrusion 1500 mm", "3030 B-type extrusion 1500 mm"]
428standard = "FreeCAD-library T-slot profile"
429
430[[presets]]
431id = "3030-B8-2000"
432title = "T-slot 30 × 30 B-type slot 8, 2000 mm"
433params = { profile = "3030-B8", length = 2000 }
434aliases = ["3030 B-type slot 8 2000 mm", "30x30 slot 8 profile 2000 mm", "3030 extrusion 2000 mm", "30 x 30 extrusion 2000 mm", "3030 B-type extrusion 2000 mm"]
435standard = "FreeCAD-library T-slot profile"
436
437[[presets]]
438id = "3030-HFS6-50"
439title = "T-slot 30 × 30 Misumi HFS6 slot 8, 50 mm"
440params = { profile = "3030-HFS6", length = 50 }
441aliases = ["Misumi HFS6-3030 50 mm", "HFS6 30x30 50 mm", "3030 extrusion 50 mm", "30 x 30 extrusion 50 mm"]
442standard = "FreeCAD-library T-slot profile"
443
444[[presets]]
445id = "3030-HFS6-100"
446title = "T-slot 30 × 30 Misumi HFS6 slot 8, 100 mm"
447params = { profile = "3030-HFS6", length = 100 }
448aliases = ["Misumi HFS6-3030 100 mm", "HFS6 30x30 100 mm", "3030 extrusion 100 mm", "30 x 30 extrusion 100 mm"]
449standard = "FreeCAD-library T-slot profile"
450
451[[presets]]
452id = "3030-HFS6-150"
453title = "T-slot 30 × 30 Misumi HFS6 slot 8, 150 mm"
454params = { profile = "3030-HFS6", length = 150 }
455aliases = ["Misumi HFS6-3030 150 mm", "HFS6 30x30 150 mm", "3030 extrusion 150 mm", "30 x 30 extrusion 150 mm"]
456standard = "FreeCAD-library T-slot profile"
457
458[[presets]]
459id = "3030-HFS6-200"
460title = "T-slot 30 × 30 Misumi HFS6 slot 8, 200 mm"
461params = { profile = "3030-HFS6", length = 200 }
462aliases = ["Misumi HFS6-3030 200 mm", "HFS6 30x30 200 mm", "3030 extrusion 200 mm", "30 x 30 extrusion 200 mm"]
463standard = "FreeCAD-library T-slot profile"
464
465[[presets]]
466id = "3030-HFS6-250"
467title = "T-slot 30 × 30 Misumi HFS6 slot 8, 250 mm"
468params = { profile = "3030-HFS6", length = 250 }
469aliases = ["Misumi HFS6-3030 250 mm", "HFS6 30x30 250 mm", "3030 extrusion 250 mm", "30 x 30 extrusion 250 mm"]
470standard = "FreeCAD-library T-slot profile"
471
472[[presets]]
473id = "3030-HFS6-300"
474title = "T-slot 30 × 30 Misumi HFS6 slot 8, 300 mm"
475params = { profile = "3030-HFS6", length = 300 }
476aliases = ["Misumi HFS6-3030 300 mm", "HFS6 30x30 300 mm", "3030 extrusion 300 mm", "30 x 30 extrusion 300 mm"]
477standard = "FreeCAD-library T-slot profile"
478
479[[presets]]
480id = "3030-HFS6-400"
481title = "T-slot 30 × 30 Misumi HFS6 slot 8, 400 mm"
482params = { profile = "3030-HFS6", length = 400 }
483aliases = ["Misumi HFS6-3030 400 mm", "HFS6 30x30 400 mm", "3030 extrusion 400 mm", "30 x 30 extrusion 400 mm"]
484standard = "FreeCAD-library T-slot profile"
485
486[[presets]]
487id = "3030-HFS6-500"
488title = "T-slot 30 × 30 Misumi HFS6 slot 8, 500 mm"
489params = { profile = "3030-HFS6", length = 500 }
490aliases = ["Misumi HFS6-3030 500 mm", "HFS6 30x30 500 mm", "3030 extrusion 500 mm", "30 x 30 extrusion 500 mm"]
491standard = "FreeCAD-library T-slot profile"
492
493[[presets]]
494id = "3030-HFS6-750"
495title = "T-slot 30 × 30 Misumi HFS6 slot 8, 750 mm"
496params = { profile = "3030-HFS6", length = 750 }
497aliases = ["Misumi HFS6-3030 750 mm", "HFS6 30x30 750 mm", "3030 extrusion 750 mm", "30 x 30 extrusion 750 mm"]
498standard = "FreeCAD-library T-slot profile"
499
500[[presets]]
501id = "3030-HFS6-1000"
502title = "T-slot 30 × 30 Misumi HFS6 slot 8, 1000 mm"
503params = { profile = "3030-HFS6", length = 1000 }
504aliases = ["Misumi HFS6-3030 1000 mm", "HFS6 30x30 1000 mm", "3030 extrusion 1000 mm", "30 x 30 extrusion 1000 mm"]
505standard = "FreeCAD-library T-slot profile"
506
507[[presets]]
508id = "3030-HFS6-1500"
509title = "T-slot 30 × 30 Misumi HFS6 slot 8, 1500 mm"
510params = { profile = "3030-HFS6", length = 1500 }
511aliases = ["Misumi HFS6-3030 1500 mm", "HFS6 30x30 1500 mm", "3030 extrusion 1500 mm", "30 x 30 extrusion 1500 mm"]
512standard = "FreeCAD-library T-slot profile"
513
514[[presets]]
515id = "3030-HFS6-2000"
516title = "T-slot 30 × 30 Misumi HFS6 slot 8, 2000 mm"
517params = { profile = "3030-HFS6", length = 2000 }
518aliases = ["Misumi HFS6-3030 2000 mm", "HFS6 30x30 2000 mm", "3030 extrusion 2000 mm", "30 x 30 extrusion 2000 mm"]
519standard = "FreeCAD-library T-slot profile"
520
521[[presets]]
522id = "3060-B8-50"
523title = "T-slot 30 × 60 B-type slot 8, 50 mm"
524params = { profile = "3060-B8", length = 50 }
525aliases = ["3060 B-type slot 8 50 mm", "30x60 slot 8 profile 50 mm", "3060 extrusion 50 mm", "30 x 60 extrusion 50 mm", "3060 B-type extrusion 50 mm"]
526standard = "FreeCAD-library T-slot profile"
527
528[[presets]]
529id = "3060-B8-100"
530title = "T-slot 30 × 60 B-type slot 8, 100 mm"
531params = { profile = "3060-B8", length = 100 }
532aliases = ["3060 B-type slot 8 100 mm", "30x60 slot 8 profile 100 mm", "3060 B-type slot-8 extrusion", "T-slot 30 × 60 B-type slot 8, 100 mm", "3060 extrusion 100 mm", "30 x 60 extrusion 100 mm", "3060 B-type extrusion 100 mm"]
533standard = "FreeCAD-library T-slot profile"
534
535[[presets]]
536id = "3060-B8-150"
537title = "T-slot 30 × 60 B-type slot 8, 150 mm"
538params = { profile = "3060-B8", length = 150 }
539aliases = ["3060 B-type slot 8 150 mm", "30x60 slot 8 profile 150 mm", "3060 extrusion 150 mm", "30 x 60 extrusion 150 mm", "3060 B-type extrusion 150 mm"]
540standard = "FreeCAD-library T-slot profile"
541
542[[presets]]
543id = "3060-B8-200"
544title = "T-slot 30 × 60 B-type slot 8, 200 mm"
545params = { profile = "3060-B8", length = 200 }
546aliases = ["3060 B-type slot 8 200 mm", "30x60 slot 8 profile 200 mm", "3060 extrusion 200 mm", "30 x 60 extrusion 200 mm", "3060 B-type extrusion 200 mm"]
547standard = "FreeCAD-library T-slot profile"
548
549[[presets]]
550id = "3060-B8-250"
551title = "T-slot 30 × 60 B-type slot 8, 250 mm"
552params = { profile = "3060-B8", length = 250 }
553aliases = ["3060 B-type slot 8 250 mm", "30x60 slot 8 profile 250 mm", "3060 extrusion 250 mm", "30 x 60 extrusion 250 mm", "3060 B-type extrusion 250 mm"]
554standard = "FreeCAD-library T-slot profile"
555
556[[presets]]
557id = "3060-B8-300"
558title = "T-slot 30 × 60 B-type slot 8, 300 mm"
559params = { profile = "3060-B8", length = 300 }
560aliases = ["3060 B-type slot 8 300 mm", "30x60 slot 8 profile 300 mm", "3060 extrusion 300 mm", "30 x 60 extrusion 300 mm", "3060 B-type extrusion 300 mm"]
561standard = "FreeCAD-library T-slot profile"
562
563[[presets]]
564id = "3060-B8-400"
565title = "T-slot 30 × 60 B-type slot 8, 400 mm"
566params = { profile = "3060-B8", length = 400 }
567aliases = ["3060 B-type slot 8 400 mm", "30x60 slot 8 profile 400 mm", "3060 extrusion 400 mm", "30 x 60 extrusion 400 mm", "3060 B-type extrusion 400 mm"]
568standard = "FreeCAD-library T-slot profile"
569
570[[presets]]
571id = "3060-B8-500"
572title = "T-slot 30 × 60 B-type slot 8, 500 mm"
573params = { profile = "3060-B8", length = 500 }
574aliases = ["3060 B-type slot 8 500 mm", "30x60 slot 8 profile 500 mm", "3060 extrusion 500 mm", "30 x 60 extrusion 500 mm", "3060 B-type extrusion 500 mm"]
575standard = "FreeCAD-library T-slot profile"
576
577[[presets]]
578id = "3060-B8-750"
579title = "T-slot 30 × 60 B-type slot 8, 750 mm"
580params = { profile = "3060-B8", length = 750 }
581aliases = ["3060 B-type slot 8 750 mm", "30x60 slot 8 profile 750 mm", "3060 extrusion 750 mm", "30 x 60 extrusion 750 mm", "3060 B-type extrusion 750 mm"]
582standard = "FreeCAD-library T-slot profile"
583
584[[presets]]
585id = "3060-B8-1000"
586title = "T-slot 30 × 60 B-type slot 8, 1000 mm"
587params = { profile = "3060-B8", length = 1000 }
588aliases = ["3060 B-type slot 8 1000 mm", "30x60 slot 8 profile 1000 mm", "3060 extrusion 1000 mm", "30 x 60 extrusion 1000 mm", "3060 B-type extrusion 1000 mm"]
589standard = "FreeCAD-library T-slot profile"
590
591[[presets]]
592id = "3060-B8-1500"
593title = "T-slot 30 × 60 B-type slot 8, 1500 mm"
594params = { profile = "3060-B8", length = 1500 }
595aliases = ["3060 B-type slot 8 1500 mm", "30x60 slot 8 profile 1500 mm", "3060 extrusion 1500 mm", "30 x 60 extrusion 1500 mm", "3060 B-type extrusion 1500 mm"]
596standard = "FreeCAD-library T-slot profile"
597
598[[presets]]
599id = "3060-B8-2000"
600title = "T-slot 30 × 60 B-type slot 8, 2000 mm"
601params = { profile = "3060-B8", length = 2000 }
602aliases = ["3060 B-type slot 8 2000 mm", "30x60 slot 8 profile 2000 mm", "3060 extrusion 2000 mm", "30 x 60 extrusion 2000 mm", "3060 B-type extrusion 2000 mm"]
603standard = "FreeCAD-library T-slot profile"
604
605[[presets]]
606id = "4040L-I8-50"
607title = "T-slot 40 × 40 light I-type slot 8, 50 mm"
608params = { profile = "4040L-I8", length = 50 }
609aliases = ["4040 light slot 8 50 mm", "40x40L profile 50 mm", "4040L extrusion 50 mm", "40 x 40 extrusion 50 mm", "4040L I-type extrusion 50 mm"]
610standard = "FreeCAD-library T-slot profile"
611
612[[presets]]
613id = "4040L-I8-100"
614title = "T-slot 40 × 40 light I-type slot 8, 100 mm"
615params = { profile = "4040L-I8", length = 100 }
616aliases = ["4040 light slot 8 100 mm", "40x40L profile 100 mm", "4040L I-type slot-8 extrusion", "T-slot 40 × 40 light I-type slot 8, 100 mm", "4040L extrusion 100 mm", "40 x 40 extrusion 100 mm", "4040L I-type extrusion 100 mm"]
617standard = "FreeCAD-library T-slot profile"
618
619[[presets]]
620id = "4040L-I8-150"
621title = "T-slot 40 × 40 light I-type slot 8, 150 mm"
622params = { profile = "4040L-I8", length = 150 }
623aliases = ["4040 light slot 8 150 mm", "40x40L profile 150 mm", "4040L extrusion 150 mm", "40 x 40 extrusion 150 mm", "4040L I-type extrusion 150 mm"]
624standard = "FreeCAD-library T-slot profile"
625
626[[presets]]
627id = "4040L-I8-200"
628title = "T-slot 40 × 40 light I-type slot 8, 200 mm"
629params = { profile = "4040L-I8", length = 200 }
630aliases = ["4040 light slot 8 200 mm", "40x40L profile 200 mm", "4040L extrusion 200 mm", "40 x 40 extrusion 200 mm", "4040L I-type extrusion 200 mm"]
631standard = "FreeCAD-library T-slot profile"
632
633[[presets]]
634id = "4040L-I8-250"
635title = "T-slot 40 × 40 light I-type slot 8, 250 mm"
636params = { profile = "4040L-I8", length = 250 }
637aliases = ["4040 light slot 8 250 mm", "40x40L profile 250 mm", "4040L extrusion 250 mm", "40 x 40 extrusion 250 mm", "4040L I-type extrusion 250 mm"]
638standard = "FreeCAD-library T-slot profile"
639
640[[presets]]
641id = "4040L-I8-300"
642title = "T-slot 40 × 40 light I-type slot 8, 300 mm"
643params = { profile = "4040L-I8", length = 300 }
644aliases = ["4040 light slot 8 300 mm", "40x40L profile 300 mm", "4040L extrusion 300 mm", "40 x 40 extrusion 300 mm", "4040L I-type extrusion 300 mm"]
645standard = "FreeCAD-library T-slot profile"
646
647[[presets]]
648id = "4040L-I8-400"
649title = "T-slot 40 × 40 light I-type slot 8, 400 mm"
650params = { profile = "4040L-I8", length = 400 }
651aliases = ["4040 light slot 8 400 mm", "40x40L profile 400 mm", "4040L extrusion 400 mm", "40 x 40 extrusion 400 mm", "4040L I-type extrusion 400 mm"]
652standard = "FreeCAD-library T-slot profile"
653
654[[presets]]
655id = "4040L-I8-500"
656title = "T-slot 40 × 40 light I-type slot 8, 500 mm"
657params = { profile = "4040L-I8", length = 500 }
658aliases = ["4040 light slot 8 500 mm", "40x40L profile 500 mm", "4040L extrusion 500 mm", "40 x 40 extrusion 500 mm", "4040L I-type extrusion 500 mm"]
659standard = "FreeCAD-library T-slot profile"
660
661[[presets]]
662id = "4040L-I8-750"
663title = "T-slot 40 × 40 light I-type slot 8, 750 mm"
664params = { profile = "4040L-I8", length = 750 }
665aliases = ["4040 light slot 8 750 mm", "40x40L profile 750 mm", "4040L extrusion 750 mm", "40 x 40 extrusion 750 mm", "4040L I-type extrusion 750 mm"]
666standard = "FreeCAD-library T-slot profile"
667
668[[presets]]
669id = "4040L-I8-1000"
670title = "T-slot 40 × 40 light I-type slot 8, 1000 mm"
671params = { profile = "4040L-I8", length = 1000 }
672aliases = ["4040 light slot 8 1000 mm", "40x40L profile 1000 mm", "4040L extrusion 1000 mm", "40 x 40 extrusion 1000 mm", "4040L I-type extrusion 1000 mm"]
673standard = "FreeCAD-library T-slot profile"
674
675[[presets]]
676id = "4040L-I8-1500"
677title = "T-slot 40 × 40 light I-type slot 8, 1500 mm"
678params = { profile = "4040L-I8", length = 1500 }
679aliases = ["4040 light slot 8 1500 mm", "40x40L profile 1500 mm", "4040L extrusion 1500 mm", "40 x 40 extrusion 1500 mm", "4040L I-type extrusion 1500 mm"]
680standard = "FreeCAD-library T-slot profile"
681
682[[presets]]
683id = "4040L-I8-2000"
684title = "T-slot 40 × 40 light I-type slot 8, 2000 mm"
685params = { profile = "4040L-I8", length = 2000 }
686aliases = ["4040 light slot 8 2000 mm", "40x40L profile 2000 mm", "4040L extrusion 2000 mm", "40 x 40 extrusion 2000 mm", "4040L I-type extrusion 2000 mm"]
687standard = "FreeCAD-library T-slot profile"
688
689[[presets]]
690id = "4080L-I8-50"
691title = "T-slot 40 × 80 light I-type slot 8, 50 mm"
692params = { profile = "4080L-I8", length = 50 }
693aliases = ["4080 light slot 8 50 mm", "40x80L profile 50 mm", "4080L extrusion 50 mm", "40 x 80 extrusion 50 mm", "4080L I-type extrusion 50 mm"]
694standard = "FreeCAD-library T-slot profile"
695
696[[presets]]
697id = "4080L-I8-100"
698title = "T-slot 40 × 80 light I-type slot 8, 100 mm"
699params = { profile = "4080L-I8", length = 100 }
700aliases = ["4080 light slot 8 100 mm", "40x80L profile 100 mm", "4080L I-type slot-8 extrusion", "T-slot 40 × 80 light I-type slot 8, 100 mm", "4080L extrusion 100 mm", "40 x 80 extrusion 100 mm", "4080L I-type extrusion 100 mm"]
701standard = "FreeCAD-library T-slot profile"
702
703[[presets]]
704id = "4080L-I8-150"
705title = "T-slot 40 × 80 light I-type slot 8, 150 mm"
706params = { profile = "4080L-I8", length = 150 }
707aliases = ["4080 light slot 8 150 mm", "40x80L profile 150 mm", "4080L extrusion 150 mm", "40 x 80 extrusion 150 mm", "4080L I-type extrusion 150 mm"]
708standard = "FreeCAD-library T-slot profile"
709
710[[presets]]
711id = "4080L-I8-200"
712title = "T-slot 40 × 80 light I-type slot 8, 200 mm"
713params = { profile = "4080L-I8", length = 200 }
714aliases = ["4080 light slot 8 200 mm", "40x80L profile 200 mm", "4080L extrusion 200 mm", "40 x 80 extrusion 200 mm", "4080L I-type extrusion 200 mm"]
715standard = "FreeCAD-library T-slot profile"
716
717[[presets]]
718id = "4080L-I8-250"
719title = "T-slot 40 × 80 light I-type slot 8, 250 mm"
720params = { profile = "4080L-I8", length = 250 }
721aliases = ["4080 light slot 8 250 mm", "40x80L profile 250 mm", "4080L extrusion 250 mm", "40 x 80 extrusion 250 mm", "4080L I-type extrusion 250 mm"]
722standard = "FreeCAD-library T-slot profile"
723
724[[presets]]
725id = "4080L-I8-300"
726title = "T-slot 40 × 80 light I-type slot 8, 300 mm"
727params = { profile = "4080L-I8", length = 300 }
728aliases = ["4080 light slot 8 300 mm", "40x80L profile 300 mm", "4080L extrusion 300 mm", "40 x 80 extrusion 300 mm", "4080L I-type extrusion 300 mm"]
729standard = "FreeCAD-library T-slot profile"
730
731[[presets]]
732id = "4080L-I8-400"
733title = "T-slot 40 × 80 light I-type slot 8, 400 mm"
734params = { profile = "4080L-I8", length = 400 }
735aliases = ["4080 light slot 8 400 mm", "40x80L profile 400 mm", "4080L extrusion 400 mm", "40 x 80 extrusion 400 mm", "4080L I-type extrusion 400 mm"]
736standard = "FreeCAD-library T-slot profile"
737
738[[presets]]
739id = "4080L-I8-500"
740title = "T-slot 40 × 80 light I-type slot 8, 500 mm"
741params = { profile = "4080L-I8", length = 500 }
742aliases = ["4080 light slot 8 500 mm", "40x80L profile 500 mm", "4080L extrusion 500 mm", "40 x 80 extrusion 500 mm", "4080L I-type extrusion 500 mm"]
743standard = "FreeCAD-library T-slot profile"
744
745[[presets]]
746id = "4080L-I8-750"
747title = "T-slot 40 × 80 light I-type slot 8, 750 mm"
748params = { profile = "4080L-I8", length = 750 }
749aliases = ["4080 light slot 8 750 mm", "40x80L profile 750 mm", "4080L extrusion 750 mm", "40 x 80 extrusion 750 mm", "4080L I-type extrusion 750 mm"]
750standard = "FreeCAD-library T-slot profile"
751
752[[presets]]
753id = "4080L-I8-1000"
754title = "T-slot 40 × 80 light I-type slot 8, 1000 mm"
755params = { profile = "4080L-I8", length = 1000 }
756aliases = ["4080 light slot 8 1000 mm", "40x80L profile 1000 mm", "4080L extrusion 1000 mm", "40 x 80 extrusion 1000 mm", "4080L I-type extrusion 1000 mm"]
757standard = "FreeCAD-library T-slot profile"
758
759[[presets]]
760id = "4080L-I8-1500"
761title = "T-slot 40 × 80 light I-type slot 8, 1500 mm"
762params = { profile = "4080L-I8", length = 1500 }
763aliases = ["4080 light slot 8 1500 mm", "40x80L profile 1500 mm", "4080L extrusion 1500 mm", "40 x 80 extrusion 1500 mm", "4080L I-type extrusion 1500 mm"]
764standard = "FreeCAD-library T-slot profile"
765
766[[presets]]
767id = "4080L-I8-2000"
768title = "T-slot 40 × 80 light I-type slot 8, 2000 mm"
769params = { profile = "4080L-I8", length = 2000 }
770aliases = ["4080 light slot 8 2000 mm", "40x80L profile 2000 mm", "4080L extrusion 2000 mm", "40 x 80 extrusion 2000 mm", "4080L I-type extrusion 2000 mm"]
771standard = "FreeCAD-library T-slot profile"
772
README.md added in 2.0.0
@@ -1,0 +1,60 @@
1# T-slot extrusion
2
3T-slot aluminium extrusion profiles with their real cross-sections, any length. Nine sections of the common 20, 30
4and 40 mm series.
5
6| `profile` | Section | Slot | Area, mm² | Reference model |
7|---|---|---|---|---|
8| `2020-B6` | 20 × 20 | B-type, 6 | 174.34 | Profile-20x20-B-Type_Slot6_A |
9| `2020-I5` | 20 × 20 | I-type, 5 | 171.99 | Profile-20x20-I-Type_Slot5 |
10| `2020-I5-ISP` | 20 × 20 | item-compatible, 5 | 181.70 | Profile_20x20_I_Type_Slot5 (Item_Compatible_Profiles) |
11| `2040-B6` | 20 × 40 | B-type, 6 | 286.73 | Profile-20x40-B-Type_Slot6 |
12| `3030-B8` | 30 × 30 | B-type, 8 | 313.82 | Profile-30x30-B-Type_Slot8 |
13| `3030-HFS6` | 30 × 30 | Misumi HFS6, 8 | 335.11 | misumi_profile_hfs_serie6_w8_30x30 |
14| `3060-B8` | 30 × 60 | B-type, 8 | 552.58 | Profile-30x60-B-Type_Slot8 |
15| `4040L-I8` | 40 × 40 light | I-type, 8 | 657.01 | Profile-40x40L-I-Type_Slot8 |
16| `4080L-I8` | 40 × 80 light | I-type, 8 | 1133.45 | Profile-40x80L-I-Type_Slot8-Body |
17
18## Geometry
19
20Each section is centred on the origin in the XY plane, its longer side along Y, and extruded along +Z by `length`.
21The section is the reference model's own outline at mid-length, written in the recipe as a table (`PROFILES`, in
22`part.py`): loops of lines and arcs (each arc by its two ends and its midpoint), the outside first, then the cavities
23and bores.
24
25## Parameters
26
27| Parameter | Meaning |
28|---|---|
29| `profile` | the section (table above) |
30| `length` | mm |
31| `finish` | anodising colour, `clear` or `black` (appearance only) |
32
33## Sources
34
35There is no manufacturer drawing behind these sections: **the geometry was measured from the published reference
36models** below. Each model's cross-section was cut at mid-length with OCCT and every edge read exactly (line ends;
37each arc's ends and midpoint), centred on the section's bounding box and rounded to 0.0001 mm; the recipe re-draws
38those outlines in its own code. Every preset is checked against its own reference model (the catalogue entry it comes
39from): bounding box within 0.05 mm (0.5 % over 100 mm), volume within 2 %, section area within 2 % and the section
40outline within 0.1 mm of the model's.
41
42All models are from **FreeCAD-library** (https://github.com/FreeCAD/FreeCAD-library, commit 2e36ae32), licensed under
43[CC-BY-3.0](https://creativecommons.org/licenses/by/3.0/) (the library's licence for all its parts), and distributed by
44step.parts (https://www.step.parts, entries `profile_*`, identical geometry; its length variants `*_l50` to `*_l2000`
45are the same sections). No endorsement by the authors or the FreeCAD project is implied.
46
47- `Mechanical Parts/Profiles EN/Generic/Profile-20x20-B-Type_Slot6_A.step`, `Profile-20x20-I-Type_Slot5.step`,
48 `Profile-20x40-B-Type_Slot6.step`, `Profile-30x30-B-Type_Slot8.step`, `Profile-30x60-B-Type_Slot8.step`,
49 `Profile-40x40L-I-Type_Slot8.step`, `Profile-40x80L-I-Type_Slot8-Body.step`: by **mathis** (GitHub Int-Circuit).
50- `Mechanical Parts/Profiles EN/Item_Compatible_Profiles/Profile_20x20_I_Type_Slot5.stp`: by **Stefan Katerkamp**.
51- `Mechanical Parts/Profiles EN/Misumi_profiles/misumi_profile_hfs_serie6_w8_30x30.step`: by **Felipe Machado**.
52
53Simplifications: the 40 × 80 model's eight spline edges are drawn as 16 chords each (within 0.01 mm); otherwise none
54beyond the models' own (no end threads). The B-type and I-type models are generic sections of those slot systems;
55makers' sections differ in detail, so check a specific maker's drawing where it matters.
56
57The catalogue's `tslot_*_l0600` entries are step.parts' simplified stand-ins (a rectangle with one rectangular groove
58per face), not T-slot sections, and are not presets. Preset list: from the step.parts catalogue (MIT), see
59`library/NOTICE.md`; entries without a length (the base models) are presets at the model's own length.
60