"""T-slot aluminium extrusion profiles, any length: the real cross-sections of nine common 20, 30 and 40 mm series profiles (B-type slot 6/8, I-type slot 5/8, item-compatible, Misumi HFS6), measured from published FreeCAD-library models. The section, centred on the origin in the XY plane (the longer side along Y), is extruded along +Z by `length`. Each section is the reference model's own outline at mid-length: lines and arcs (each arc given by its midpoint), loops in order, the first the outside and the rest the cavities and bores. See the README for the models and their authors. """ import cadquery as cq from steve import Model profile = "2020-B6" # Profile length = 100 # mm Length finish = "clear" # Anodising # mm. Measured on each reference model's cross-section at mid-length (OCCT section of the STEP model, every edge read # exactly: line ends, and each arc's ends and midpoint), centred on the section's bounding box, rounded to 1e-4 mm. # 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. # The 4080L model's eight spline edges (slot entry rounds) are drawn as 16 chords each (within 0.01 mm). PROFILES = { # 2020-B6: FreeCAD-library "Profile-20x20-B-Type_Slot6_A.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_2020_b_slot6_a: section 20 x 20, # area 174.3364 mm^2 on the model "2020-B6": [ [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), ('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), ('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), ('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), ('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), ('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), ('L', -3.0, -9.6), ('L', -3.4, -9.6), ('L', -3.4, -10.0), ('L', -9.0, -10.0), ('A', -9.7071, -9.7071, -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), ('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), ('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), ('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), ('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), ('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), ('L', 3.0, 9.6), ('L', 3.4, 9.6), ('L', 3.4, 10.0), ('L', 9.0, 10.0), ('A', 9.7071, 9.7071, 10.0, 9.0)], [1.3405, 2.4012, ('A', 0.6926, 2.6614, 0.0, 2.75), ('A', -0.6926, 2.6614, -1.3405, 2.4012), ('L', -1.9445, 3.0052), ('L', -2.4749, 2.4749), ('L', -3.0052, 1.9445), ('L', -2.4012, 1.3405), ('A', -2.6614, 0.6926, -2.75, 0.0), ('A', -2.6614, -0.6926, -2.4012, -1.3405), ('L', -3.0052, -1.9445), ('L', -2.4749, -2.4749), ('L', -1.9445, -3.0052), ('L', -1.3405, -2.4012), ('A', -0.6926, -2.6614, 0.0, -2.75), ('A', 0.6926, -2.6614, 1.3405, -2.4012), ('L', 1.9445, -3.0052), ('L', 2.4749, -2.4749), ('L', 3.0052, -1.9445), ('L', 2.4012, -1.3405), ('A', 2.6614, -0.6926, 2.75, 0.0), ('A', 2.6614, 0.6926, 2.4012, 1.3405), ('L', 3.0052, 1.9445), ('L', 2.4749, 2.4749), ('L', 1.9445, 3.0052), ('L', 1.3405, 2.4012)], ], # 2020-I5: FreeCAD-library "Profile-20x20-I-Type_Slot5.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_2020_i_slot5: section 20 x 20, # area 171.991 mm^2 on the model "2020-I5": [ [5.3295, -8.2, ('L', 3.1595, -8.2), ('A', 2.9473, -8.2879, 2.8595, -8.5), ('L', 2.8595, -9.2), ('A', 3.0938, -9.7657, 3.6595, -10.0), ('L', 8.2895, -10.0), ('A', 9.499, -9.499, 10.0, -8.2895), ('L', 10.0, -3.6595), ('A', 9.7657, -3.0938, 9.2, -2.8595), ('L', 8.5, -2.8595), ('A', 8.2879, -2.9473, 8.2, -3.1595), ('L', 8.2, -5.3295), ('A', 7.7138, -6.0446, 6.87, -5.8555), ('L', 4.53, -3.36), ('A', 3.878, -2.3314, 3.65, -1.135), ('L', 3.65, 0.0), ('L', 3.65, 1.135), ('A', 3.878, 2.3314, 4.53, 3.36), ('L', 6.87, 5.8555), ('A', 7.7138, 6.0446, 8.2, 5.3295), ('L', 8.2, 3.1595), ('A', 8.2879, 2.9473, 8.5, 2.8595), ('L', 9.2, 2.8595), ('A', 9.7657, 3.0938, 10.0, 3.6595), ('L', 10.0, 8.2895), ('A', 9.499, 9.499, 8.2895, 10.0), ('L', 3.6595, 10.0), ('A', 3.0938, 9.7657, 2.8595, 9.2), ('L', 2.8595, 8.5), ('A', 2.9473, 8.2879, 3.1595, 8.2), ('L', 5.3295, 8.2), ('A', 6.0446, 7.7138, 5.8555, 6.87), ('L', 3.36, 4.53), ('A', 2.3314, 3.878, 1.135, 3.65), ('L', 0.0, 3.65), ('L', -1.135, 3.65), ('A', -2.3314, 3.878, -3.36, 4.53), ('L', -5.8555, 6.87), ('A', -6.0446, 7.7138, -5.3295, 8.2), ('L', -3.1595, 8.2), ('A', -2.9473, 8.2879, -2.8595, 8.5), ('L', -2.8595, 9.2), ('A', -3.0938, 9.7657, -3.6595, 10.0), ('L', -8.2895, 10.0), ('A', -9.499, 9.499, -10.0, 8.2895), ('L', -10.0, 3.6595), ('A', -9.7657, 3.0938, -9.2, 2.8595), ('L', -8.5, 2.8595), ('A', -8.2879, 2.9473, -8.2, 3.1595), ('L', -8.2, 5.3295), ('A', -7.7138, 6.0446, -6.87, 5.8555), ('L', -4.53, 3.36), ('A', -3.878, 2.3314, -3.65, 1.135), ('L', -3.65, 0.0), ('L', -3.65, -1.135), ('A', -3.878, -2.3314, -4.53, -3.36), ('L', -6.87, -5.8555), ('A', -7.7138, -6.0446, -8.2, -5.3295), ('L', -8.2, -3.1595), ('A', -8.2879, -2.9473, -8.5, -2.8595), ('L', -9.2, -2.8595), ('A', -9.7657, -3.0938, -10.0, -3.6595), ('L', -10.0, -8.2895), ('A', -9.499, -9.499, -8.2895, -10.0), ('L', -3.6595, -10.0), ('A', -3.0938, -9.7657, -2.8595, -9.2), ('L', -2.8595, -8.5), ('A', -2.9473, -8.2879, -3.1595, -8.2), ('L', -5.3295, -8.2), ('A', -6.0446, -7.7138, -5.8555, -6.87), ('L', -3.36, -4.53), ('A', -2.3314, -3.878, -1.135, -3.65), ('L', 0.0, -3.65), ('L', 1.135, -3.65), ('A', 2.3314, -3.878, 3.36, -4.53), ('L', 5.8555, -6.87), ('A', 6.0446, -7.7138, 5.3295, -8.2)], [0.0, 2.15, ('A', 1.5203, 1.5203, 2.15, 0.0), ('A', 1.5203, -1.5203, 0.0, -2.15), ('A', -1.5203, -1.5203, -2.15, 0.0), ('A', -1.5203, 1.5203, 0.0, 2.15)], ], # 2020-I5-ISP: FreeCAD-library "Profile_20x20_I_Type_Slot5.stp" (Stefan Katerkamp, CC-BY-3.0), # step.parts profile_2020_i_slot5_item_compatible_l50: section 20 x 20, # area 181.6955 mm^2 on the model "2020-I5-ISP": [ [0.0, 3.45, ('L', -0.1772, 3.65), ('L', -2.3772, 3.65), ('L', -5.6469, 6.9197), ('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), ('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), ('L', -8.2, 2.5), ('L', -8.2, 5.1165), ('A', -7.737, 5.8095, -6.9197, 5.6469), ('L', -3.65, 2.3772), ('L', -3.65, 0.1772), ('L', -3.45, 0.0), ('L', -3.65, -0.1772), ('L', -3.65, -2.3772), ('L', -6.9197, -5.6469), ('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), ('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), ('L', -2.5, -8.2), ('L', -5.1165, -8.2), ('A', -5.8095, -7.737, -5.6469, -6.9197), ('L', -2.3772, -3.65), ('L', -0.1772, -3.65), ('L', 0.0, -3.45), ('L', 0.1772, -3.65), ('L', 2.3772, -3.65), ('L', 5.6469, -6.9197), ('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), ('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), ('L', 8.2, -2.5), ('L', 8.2, -5.1165), ('A', 7.737, -5.8095, 6.9197, -5.6469), ('L', 3.65, -2.3772), ('L', 3.65, -0.1772), ('L', 3.45, 0.0), ('L', 3.65, 0.1772), ('L', 3.65, 2.3772), ('L', 6.9197, 5.6469), ('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), ('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), ('L', 2.5, 8.2), ('L', 5.1165, 8.2), ('A', 5.8095, 7.737, 5.6469, 6.9197), ('L', 2.3772, 3.65), ('L', 0.1772, 3.65), ('L', 0.0, 3.45)], [-2.15, 0.0, ('A', -1.5203, 1.5203, 0.0, 2.15), ('A', 1.5203, 1.5203, 2.15, 0.0), ('A', 1.5203, -1.5203, 0.0, -2.15), ('A', -1.5203, -1.5203, -2.15, 0.0)], ], # 2040-B6: FreeCAD-library "Profile-20x40-B-Type_Slot6.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_2040_b_slot6: section 20 x 40, # area 286.7288 mm^2 on the model "2040-B6": [ [-10.0, -13.7, ('L', -10.0, -18.5), ('A', -9.5607, -19.5607, -8.5, -20.0), ('L', -3.7, -20.0), ('A', -3.5586, -19.9414, -3.5, -19.8), ('L', -3.5, -19.5), ('L', -3.2, -19.5), ('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), ('A', -5.8536, -18.3536, -6.0, -18.0), ('L', -6.0, -17.27), ('A', -5.9619, -17.0787, -5.8536, -16.9164), ('L', -3.5836, -14.6464), ('A', -3.4213, -14.5381, -3.23, -14.5), ('L', -0.955, -14.5), ('A', -0.9032, -14.4932, -0.8549, -14.4732), ('L', -0.1001, -14.0368), ('A', 0.0, -14.01, 0.1001, -14.0368), ('L', 0.8549, -14.4732), ('A', 0.9032, -14.4932, 0.955, -14.5), ('L', 3.23, -14.5), ('A', 3.4213, -14.5381, 3.5836, -14.6464), ('L', 5.8536, -16.9164), ('A', 5.9619, -17.0787, 6.0, -17.27), ('L', 6.0, -18.0), ('A', 5.8536, -18.3536, 5.5, -18.5), ('L', 3.5, -18.5), ('A', 3.1464, -18.6464, 3.0, -19.0), ('L', 3.0, -19.3), ('A', 3.0586, -19.4414, 3.2, -19.5), ('L', 3.5, -19.5), ('L', 3.5, -19.8), ('A', 3.5586, -19.9414, 3.7, -20.0), ('L', 8.5, -20.0), ('A', 9.5607, -19.5607, 10.0, -18.5), ('L', 10.0, -13.7), ('A', 9.9414, -13.5586, 9.8, -13.5), ('L', 9.5, -13.5), ('L', 9.5, -13.2), ('A', 9.4414, -13.0586, 9.3, -13.0), ('L', 9.0, -13.0), ('A', 8.6464, -13.1464, 8.5, -13.5), ('L', 8.5, -15.5), ('A', 8.3536, -15.8536, 8.0, -16.0), ('L', 7.27, -16.0), ('A', 7.0787, -15.9619, 6.9164, -15.8536), ('L', 4.6464, -13.5836), ('A', 4.5381, -13.4213, 4.5, -13.23), ('L', 4.5, -10.955), ('A', 4.4932, -10.9032, 4.4732, -10.8549), ('L', 4.0368, -10.1001), ('A', 4.01, -10.0, 4.0368, -9.8999), ('L', 4.4732, -9.1451), ('A', 4.4932, -9.0968, 4.5, -9.045), ('L', 4.5, -6.77), ('A', 4.5381, -6.5787, 4.6464, -6.4164), ('L', 6.9164, -4.1464), ('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), ('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), ('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), ('L', 9.5, 6.5), ('L', 9.5, 6.8), ('A', 9.4414, 6.9414, 9.3, 7.0), ('L', 9.0, 7.0), ('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), ('A', 7.0787, 4.0381, 6.9164, 4.1464), ('L', 4.6464, 6.4164), ('A', 4.5381, 6.5787, 4.5, 6.77), ('L', 4.5, 9.045), ('A', 4.4932, 9.0968, 4.4732, 9.1451), ('L', 4.0368, 9.8999), ('A', 4.01, 10.0, 4.0368, 10.1001), ('L', 4.4732, 10.8549), ('A', 4.4932, 10.9032, 4.5, 10.955), ('L', 4.5, 13.23), ('A', 4.5381, 13.4213, 4.6464, 13.5836), ('L', 6.9164, 15.8536), ('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), ('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), ('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), ('L', 3.7, 20.0), ('A', 3.5586, 19.9414, 3.5, 19.8), ('L', 3.5, 19.5), ('L', 3.2, 19.5), ('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), ('A', 5.8536, 18.3536, 6.0, 18.0), ('L', 6.0, 17.27), ('A', 5.9619, 17.0787, 5.8536, 16.9164), ('L', 3.5836, 14.6464), ('A', 3.4213, 14.5381, 3.23, 14.5), ('L', 0.955, 14.5), ('A', 0.9032, 14.4932, 0.8549, 14.4732), ('L', 0.1001, 14.0368), ('A', 0.0, 14.01, -0.1001, 14.0368), ('L', -0.8549, 14.4732), ('A', -0.9032, 14.4932, -0.955, 14.5), ('L', -3.23, 14.5), ('A', -3.4213, 14.5381, -3.5836, 14.6464), ('L', -5.8536, 16.9164), ('A', -5.9619, 17.0787, -6.0, 17.27), ('L', -6.0, 18.0), ('A', -5.8536, 18.3536, -5.5, 18.5), ('L', -3.5, 18.5), ('A', -3.1464, 18.6464, -3.0, 19.0), ('L', -3.0, 19.3), ('A', -3.0586, 19.4414, -3.2, 19.5), ('L', -3.5, 19.5), ('L', -3.5, 19.8), ('A', -3.5586, 19.9414, -3.7, 20.0), ('L', -8.5, 20.0), ('A', -9.5607, 19.5607, -10.0, 18.5), ('L', -10.0, 13.7), ('A', -9.9414, 13.5586, -9.8, 13.5), ('L', -9.5, 13.5), ('L', -9.5, 13.2), ('A', -9.4414, 13.0586, -9.3, 13.0), ('L', -9.0, 13.0), ('A', -8.6464, 13.1464, -8.5, 13.5), ('L', -8.5, 15.5), ('A', -8.3536, 15.8536, -8.0, 16.0), ('L', -7.27, 16.0), ('A', -7.0787, 15.9619, -6.9164, 15.8536), ('L', -4.6464, 13.5836), ('A', -4.5381, 13.4213, -4.5, 13.23), ('L', -4.5, 10.955), ('A', -4.4932, 10.9032, -4.4732, 10.8549), ('L', -4.0368, 10.1001), ('A', -4.01, 10.0, -4.0368, 9.8999), ('L', -4.4732, 9.1451), ('A', -4.4932, 9.0968, -4.5, 9.045), ('L', -4.5, 6.77), ('A', -4.5381, 6.5787, -4.6464, 6.4164), ('L', -6.9164, 4.1464), ('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), ('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), ('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), ('L', -9.5, -6.5), ('L', -9.5, -6.8), ('A', -9.4414, -6.9414, -9.3, -7.0), ('L', -9.0, -7.0), ('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), ('A', -7.0787, -4.0381, -6.9164, -4.1464), ('L', -4.6464, -6.4164), ('A', -4.5381, -6.5787, -4.5, -6.77), ('L', -4.5, -9.045), ('A', -4.4932, -9.0968, -4.4732, -9.1451), ('L', -4.0368, -9.8999), ('A', -4.01, -10.0, -4.0368, -10.1001), ('L', -4.4732, -10.8549), ('A', -4.4932, -10.9032, -4.5, -10.955), ('L', -4.5, -13.23), ('A', -4.5381, -13.4213, -4.6464, -13.5836), ('L', -6.9164, -15.8536), ('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), ('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), ('L', -9.8, -13.5), ('A', -9.9414, -13.5586, -10.0, -13.7)], [-1.9116, -12.9914, ('A', -2.5102, -12.5102, -2.9914, -11.9116), ('L', -2.4456, -11.2576), ('A', -2.75, -10.0, -2.4456, -8.7424), ('L', -2.9914, -8.0884), ('A', -2.5102, -7.4898, -1.9116, -7.0086), ('L', -1.2576, -7.5544), ('A', 0.0, -7.25, 1.2576, -7.5544), ('L', 1.9116, -7.0086), ('A', 2.5102, -7.4898, 2.9914, -8.0884), ('L', 2.4456, -8.7424), ('A', 2.75, -10.0, 2.4456, -11.2576), ('L', 2.9914, -11.9116), ('A', 2.5102, -12.5102, 1.9116, -12.9914), ('L', 1.2576, -12.4456), ('A', 0.0, -12.75, -1.2576, -12.4456), ('L', -1.9116, -12.9914)], [6.645, -2.5, ('A', 6.4537, -2.538, 6.2915, -2.6464), ('L', 3.5835, -5.3536), ('A', 3.4213, -5.462, 3.23, -5.5), ('L', 0.955, -5.5), ('A', 0.9032, -5.5068, 0.8549, -5.5268), ('L', 0.1001, -5.9632), ('A', 0.0, -5.99, -0.1001, -5.9632), ('L', -0.8549, -5.5268), ('A', -0.9032, -5.5068, -0.955, -5.5), ('L', -3.23, -5.5), ('A', -3.4213, -5.462, -3.5835, -5.3536), ('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), ('L', -8.5, 0.0), ('L', -8.5, 2.0), ('A', -8.3536, 2.3536, -8.0, 2.5), ('L', -6.645, 2.5), ('A', -6.4537, 2.538, -6.2915, 2.6464), ('L', -3.5835, 5.3536), ('A', -3.4213, 5.462, -3.23, 5.5), ('L', -0.955, 5.5), ('A', -0.9032, 5.5068, -0.8549, 5.5268), ('L', -0.1001, 5.9632), ('A', 0.0, 5.99, 0.1001, 5.9632), ('L', 0.8549, 5.5268), ('A', 0.9032, 5.5068, 0.955, 5.5), ('L', 3.23, 5.5), ('A', 3.4213, 5.462, 3.5835, 5.3536), ('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), ('L', 8.5, 0.0), ('L', 8.5, -2.0), ('A', 8.3536, -2.3536, 8.0, -2.5), ('L', 6.645, -2.5)], [-2.4456, 11.2576, ('L', -2.9914, 11.9116), ('A', -2.5102, 12.5102, -1.9116, 12.9914), ('L', -1.2576, 12.4456), ('A', 0.0, 12.75, 1.2576, 12.4456), ('L', 1.9116, 12.9914), ('A', 2.5102, 12.5102, 2.9914, 11.9116), ('L', 2.4456, 11.2576), ('A', 2.75, 10.0, 2.4456, 8.7424), ('L', 2.9914, 8.0884), ('A', 2.5102, 7.4898, 1.9116, 7.0086), ('L', 1.2576, 7.5544), ('A', 0.0, 7.25, -1.2576, 7.5544), ('L', -1.9116, 7.0086), ('A', -2.5102, 7.4898, -2.9914, 8.0884), ('L', -2.4456, 8.7424), ('A', -2.75, 10.0, -2.4456, 11.2576)], ], # 3030-B8: FreeCAD-library "Profile-30x30-B-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_3030_b_slot8: section 30 x 30, # area 313.8248 mm^2 on the model "3030-B8": [ [-15.0, -4.7, ('L', -15.0, -13.0), ('A', -14.4142, -14.4142, -13.0, -15.0), ('L', -4.7, -15.0), ('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), ('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), ('L', -8.25, -10.2534), ('A', -8.212, -10.0622, -8.1037, -9.9), ('L', -4.3537, -6.1466), ('A', -4.1914, -6.0381, -4.0, -6.0), ('L', -0.95, -6.0), ('A', -0.8989, -5.9934, -0.8511, -5.9739), ('L', -0.0989, -5.5461), ('A', 0.0, -5.52, 0.0989, -5.5461), ('L', 0.8511, -5.9739), ('A', 0.8989, -5.9934, 0.95, -6.0), ('L', 4.0, -6.0), ('A', 4.1914, -6.0381, 4.3537, -6.1466), ('L', 8.1037, -9.9), ('A', 8.212, -10.0622, 8.25, -10.2534), ('L', 8.25, -12.3), ('A', 8.1036, -12.6536, 7.75, -12.8), ('L', 4.5, -12.8), ('A', 4.1464, -12.9464, 4.0, -13.3), ('L', 4.0, -14.3), ('A', 4.0586, -14.4414, 4.2, -14.5), ('L', 4.5, -14.5), ('L', 4.5, -14.8), ('A', 4.5586, -14.9414, 4.7, -15.0), ('L', 13.0, -15.0), ('A', 14.4142, -14.4142, 15.0, -13.0), ('L', 15.0, -4.7), ('A', 14.9414, -4.5586, 14.8, -4.5), ('L', 14.5, -4.5), ('L', 14.5, -4.2), ('A', 14.4414, -4.0586, 14.3, -4.0), ('L', 13.3, -4.0), ('A', 12.9464, -4.1464, 12.8, -4.5), ('L', 12.8, -7.75), ('A', 12.6536, -8.1036, 12.3, -8.25), ('L', 10.2534, -8.25), ('A', 10.0622, -8.212, 9.9, -8.1037), ('L', 6.1466, -4.3537), ('A', 6.0381, -4.1914, 6.0, -4.0), ('L', 6.0, -0.95), ('A', 5.9934, -0.8989, 5.9739, -0.8511), ('L', 5.5461, -0.0989), ('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), ('A', 6.0381, 4.1914, 6.1466, 4.3537), ('L', 9.9, 8.1037), ('A', 10.0622, 8.212, 10.2534, 8.25), ('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), ('L', 14.3, 4.0), ('A', 14.4414, 4.0586, 14.5, 4.2), ('L', 14.5, 4.5), ('L', 14.8, 4.5), ('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), ('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), ('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), ('L', 8.25, 10.2534), ('A', 8.212, 10.0622, 8.1037, 9.9), ('L', 4.3537, 6.1466), ('A', 4.1914, 6.0381, 4.0, 6.0), ('L', 0.95, 6.0), ('A', 0.8989, 5.9934, 0.8511, 5.9739), ('L', 0.0989, 5.5461), ('A', 0.0, 5.52, -0.0989, 5.5461), ('L', -0.8511, 5.9739), ('A', -0.8989, 5.9934, -0.95, 6.0), ('L', -4.0, 6.0), ('A', -4.1914, 6.0381, -4.3537, 6.1466), ('L', -8.1037, 9.9), ('A', -8.212, 10.0622, -8.25, 10.2534), ('L', -8.25, 12.3), ('A', -8.1036, 12.6536, -7.75, 12.8), ('L', -4.5, 12.8), ('A', -4.1464, 12.9464, -4.0, 13.3), ('L', -4.0, 14.3), ('A', -4.0586, 14.4414, -4.2, 14.5), ('L', -4.5, 14.5), ('L', -4.5, 14.8), ('A', -4.5586, 14.9414, -4.7, 15.0), ('L', -13.0, 15.0), ('A', -14.4142, 14.4142, -15.0, 13.0), ('L', -15.0, 4.7), ('A', -14.9414, 4.5586, -14.8, 4.5), ('L', -14.5, 4.5), ('L', -14.5, 4.2), ('A', -14.4414, 4.0586, -14.3, 4.0), ('L', -13.3, 4.0), ('A', -12.9464, 4.1464, -12.8, 4.5), ('L', -12.8, 7.75), ('A', -12.6536, 8.1036, -12.3, 8.25), ('L', -10.2534, 8.25), ('A', -10.0622, 8.212, -9.9, 8.1037), ('L', -6.1466, 4.3537), ('A', -6.0381, 4.1914, -6.0, 4.0), ('L', -6.0, 0.95), ('A', -5.9934, 0.8989, -5.9739, 0.8511), ('L', -5.5461, 0.0989), ('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), ('A', -6.0381, -4.1914, -6.1466, -4.3537), ('L', -9.9, -8.1037), ('A', -10.0622, -8.212, -10.2534, -8.25), ('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), ('L', -14.3, -4.0), ('A', -14.4414, -4.0586, -14.5, -4.2), ('L', -14.5, -4.5), ('L', -14.8, -4.5), ('A', -14.9414, -4.5586, -15.0, -4.7)], [-13.7, -12.7, ('L', -13.7, -10.5), ('A', -13.4071, -9.7929, -12.7, -9.5), ('L', -10.5, -9.5), ('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), ('A', -13.4071, -13.4071, -13.7, -12.7)], [12.7, -13.7, ('L', 10.5, -13.7), ('A', 9.7929, -13.4071, 9.5, -12.7), ('L', 9.5, -10.5), ('A', 9.7929, -9.7929, 10.5, -9.5), ('L', 12.7, -9.5), ('A', 13.4071, -9.7929, 13.7, -10.5), ('L', 13.7, -12.7), ('A', 13.4071, -13.4071, 12.7, -13.7)], [3.2812, 1.5988, ('A', 3.5566, 0.8204, 3.65, 0.0), ('A', 3.5567, -0.82, 3.2815, -1.5981), ('L', 4.5132, -3.1434), ('A', 3.8895, -3.8887, 3.1444, -4.5125), ('L', 1.5988, -3.2812), ('A', 0.0004, -3.65, -1.5981, -3.2815), ('L', -3.1434, -4.5132), ('A', -3.8887, -3.8895, -4.5125, -3.1444), ('L', -3.2812, -1.5988), ('A', -3.65, -0.0004, -3.2815, 1.5981), ('L', -4.5132, 3.1434), ('A', -3.8895, 3.8887, -3.1444, 4.5125), ('L', -1.5988, 3.2812), ('A', -0.0004, 3.65, 1.5981, 3.2815), ('L', 3.1434, 4.5132), ('A', 3.8887, 3.8895, 4.5125, 3.1444), ('L', 3.2812, 1.5988)], [-12.7, 13.7, ('L', -10.5, 13.7), ('A', -9.7929, 13.4071, -9.5, 12.7), ('L', -9.5, 10.5), ('A', -9.7929, 9.7929, -10.5, 9.5), ('L', -12.7, 9.5), ('A', -13.4071, 9.7929, -13.7, 10.5), ('L', -13.7, 12.7), ('A', -13.4071, 13.4071, -12.7, 13.7)], [13.7, 12.7, ('L', 13.7, 10.5), ('A', 13.4071, 9.7929, 12.7, 9.5), ('L', 10.5, 9.5), ('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), ('A', 13.4071, 13.4071, 13.7, 12.7)], ], # 3030-HFS6: FreeCAD-library "misumi_profile_hfs_serie6_w8_30x30.step" (Felipe Machado, CC-BY-3.0), # step.parts profile_misumi_hfs6_30x30_w8_l50: section 30 x 30, # area 335.1129 mm^2 on the model "3030-HFS6": [ [4.5858, 6.0, ('L', -4.5858, 6.0), ('L', -8.25, 9.6642), ('L', -8.25, 13.0), ('L', -4.0, 13.0), ('L', -4.0, 15.0), ('L', -14.0, 15.0), ('A', -14.7071, 14.7071, -15.0, 14.0), ('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), ('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), ('L', -15.0, -14.0), ('A', -14.7071, -14.7071, -14.0, -15.0), ('L', -4.0, -15.0), ('L', -4.0, -13.0), ('L', -8.25, -13.0), ('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), ('L', 4.0, -13.0), ('L', 4.0, -15.0), ('L', 14.0, -15.0), ('A', 14.7071, -14.7071, 15.0, -14.0), ('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), ('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), ('L', 15.0, 14.0), ('A', 14.7071, 14.7071, 14.0, 15.0), ('L', 4.0, 15.0), ('L', 4.0, 13.0), ('L', 8.25, 13.0), ('L', 8.25, 9.6642), ('L', 4.5858, 6.0)], [('C', 11.6, -11.6, 2.1)], [('C', 0.0, 0.0, 3.4)], [('C', 11.6, 11.6, 2.1)], [('C', -11.6, -11.6, 2.1)], [('C', -11.6, 11.6, 2.1)], ], # 3060-B8: FreeCAD-library "Profile-30x60-B-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_3060_b_slot8: section 30 x 60, # area 552.5767 mm^2 on the model "3060-B8": [ [-15.0, -19.7, ('L', -15.0, -28.0), ('A', -14.4142, -29.4142, -13.0, -30.0), ('L', -4.7, -30.0), ('A', -4.5586, -29.9414, -4.5, -29.8), ('L', -4.5, -29.5), ('L', -4.2, -29.5), ('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), ('A', -8.1036, -27.6536, -8.25, -27.3), ('L', -8.25, -25.26), ('A', -8.212, -25.0688, -8.1038, -24.9067), ('L', -4.3488, -21.1467), ('A', -4.1865, -21.0381, -3.995, -21.0), ('L', -0.955, -21.0), ('A', -0.9042, -20.9934, -0.8566, -20.9741), ('L', -0.0984, -20.5459), ('A', 0.0, -20.52, 0.0984, -20.5459), ('L', 0.8566, -20.9741), ('A', 0.9042, -20.9934, 0.955, -21.0), ('L', 3.995, -21.0), ('A', 4.1865, -21.0381, 4.3488, -21.1467), ('L', 8.1038, -24.9067), ('A', 8.212, -25.0688, 8.25, -25.26), ('L', 8.25, -27.3), ('A', 8.1036, -27.6536, 7.75, -27.8), ('L', 4.5, -27.8), ('A', 4.1464, -27.9464, 4.0, -28.3), ('L', 4.0, -29.3), ('A', 4.0586, -29.4414, 4.2, -29.5), ('L', 4.5, -29.5), ('L', 4.5, -29.8), ('A', 4.5586, -29.9414, 4.7, -30.0), ('L', 13.0, -30.0), ('A', 14.4142, -29.4142, 15.0, -28.0), ('L', 15.0, -19.7), ('A', 14.9414, -19.5586, 14.8, -19.5), ('L', 14.5, -19.5), ('L', 14.5, -19.2), ('A', 14.4414, -19.0586, 14.3, -19.0), ('L', 13.3, -19.0), ('A', 12.9464, -19.1464, 12.8, -19.5), ('L', 12.8, -22.75), ('A', 12.6536, -23.1036, 12.3, -23.25), ('L', 10.26, -23.25), ('A', 10.0688, -23.212, 9.9067, -23.1038), ('L', 6.1467, -19.3488), ('A', 6.0381, -19.1865, 6.0, -18.995), ('L', 6.0, -15.955), ('A', 5.9934, -15.9042, 5.9741, -15.8566), ('L', 5.5459, -15.0984), ('A', 5.52, -15.0, 5.5459, -14.9016), ('L', 5.9741, -14.1434), ('A', 5.9934, -14.0958, 6.0, -14.045), ('L', 6.0, -11.005), ('A', 6.0381, -10.8135, 6.1467, -10.6512), ('L', 9.9067, -6.8962), ('A', 10.0688, -6.788, 10.26, -6.75), ('L', 12.3, -6.75), ('A', 12.6536, -6.8964, 12.8, -7.25), ('L', 12.8, -10.5), ('A', 12.9464, -10.8536, 13.3, -11.0), ('L', 14.3, -11.0), ('A', 14.4414, -10.9414, 14.5, -10.8), ('L', 14.5, -10.5), ('L', 14.8, -10.5), ('A', 14.9414, -10.4414, 15.0, -10.3), ('L', 15.0, 10.3), ('A', 14.9414, 10.4414, 14.8, 10.5), ('L', 14.5, 10.5), ('L', 14.5, 10.8), ('A', 14.4414, 10.9414, 14.3, 11.0), ('L', 13.3, 11.0), ('A', 12.9464, 10.8536, 12.8, 10.5), ('L', 12.8, 7.25), ('A', 12.6536, 6.8964, 12.3, 6.75), ('L', 10.26, 6.75), ('A', 10.0688, 6.788, 9.9067, 6.8962), ('L', 6.1467, 10.6512), ('A', 6.0381, 10.8135, 6.0, 11.005), ('L', 6.0, 14.045), ('A', 5.9934, 14.0958, 5.9741, 14.1434), ('L', 5.5459, 14.9016), ('A', 5.52, 15.0, 5.5459, 15.0984), ('L', 5.9741, 15.8566), ('A', 5.9934, 15.9042, 6.0, 15.955), ('L', 6.0, 18.995), ('A', 6.0381, 19.1865, 6.1467, 19.3488), ('L', 9.9067, 23.1038), ('A', 10.0688, 23.212, 10.26, 23.25), ('L', 12.3, 23.25), ('A', 12.6536, 23.1036, 12.8, 22.75), ('L', 12.8, 19.5), ('A', 12.9464, 19.1464, 13.3, 19.0), ('L', 14.3, 19.0), ('A', 14.4414, 19.0586, 14.5, 19.2), ('L', 14.5, 19.5), ('L', 14.8, 19.5), ('A', 14.9414, 19.5586, 15.0, 19.7), ('L', 15.0, 28.0), ('A', 14.4142, 29.4142, 13.0, 30.0), ('L', 4.7, 30.0), ('A', 4.5586, 29.9414, 4.5, 29.8), ('L', 4.5, 29.5), ('L', 4.2, 29.5), ('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), ('A', 8.1036, 27.6536, 8.25, 27.3), ('L', 8.25, 25.26), ('A', 8.212, 25.0688, 8.1038, 24.9067), ('L', 4.3488, 21.1467), ('A', 4.1865, 21.0381, 3.995, 21.0), ('L', 0.955, 21.0), ('A', 0.9042, 20.9934, 0.8566, 20.9741), ('L', 0.0984, 20.5459), ('A', 0.0, 20.52, -0.0984, 20.5459), ('L', -0.8566, 20.9741), ('A', -0.9042, 20.9934, -0.955, 21.0), ('L', -3.995, 21.0), ('A', -4.1865, 21.0381, -4.3488, 21.1467), ('L', -8.1038, 24.9067), ('A', -8.212, 25.0688, -8.25, 25.26), ('L', -8.25, 27.3), ('A', -8.1036, 27.6536, -7.75, 27.8), ('L', -4.5, 27.8), ('A', -4.1464, 27.9464, -4.0, 28.3), ('L', -4.0, 29.3), ('A', -4.0586, 29.4414, -4.2, 29.5), ('L', -4.5, 29.5), ('L', -4.5, 29.8), ('A', -4.5586, 29.9414, -4.7, 30.0), ('L', -13.0, 30.0), ('A', -14.4142, 29.4142, -15.0, 28.0), ('L', -15.0, 19.7), ('A', -14.9414, 19.5586, -14.8, 19.5), ('L', -14.5, 19.5), ('L', -14.5, 19.2), ('A', -14.4414, 19.0586, -14.3, 19.0), ('L', -13.3, 19.0), ('A', -12.9464, 19.1464, -12.8, 19.5), ('L', -12.8, 22.75), ('A', -12.6536, 23.1036, -12.3, 23.25), ('L', -10.26, 23.25), ('A', -10.0688, 23.212, -9.9067, 23.1038), ('L', -6.1467, 19.3488), ('A', -6.0381, 19.1865, -6.0, 18.995), ('L', -6.0, 15.955), ('A', -5.9934, 15.9042, -5.9741, 15.8566), ('L', -5.5459, 15.0984), ('A', -5.52, 15.0, -5.5459, 14.9016), ('L', -5.9741, 14.1434), ('A', -5.9934, 14.0958, -6.0, 14.045), ('L', -6.0, 11.005), ('A', -6.0381, 10.8135, -6.1467, 10.6512), ('L', -9.9067, 6.8962), ('A', -10.0688, 6.788, -10.26, 6.75), ('L', -12.3, 6.75), ('A', -12.6536, 6.8964, -12.8, 7.25), ('L', -12.8, 10.5), ('A', -12.9464, 10.8536, -13.3, 11.0), ('L', -14.3, 11.0), ('A', -14.4414, 10.9414, -14.5, 10.8), ('L', -14.5, 10.5), ('L', -14.8, 10.5), ('A', -14.9414, 10.4414, -15.0, 10.3), ('L', -15.0, -10.3), ('A', -14.9414, -10.4414, -14.8, -10.5), ('L', -14.5, -10.5), ('L', -14.5, -10.8), ('A', -14.4414, -10.9414, -14.3, -11.0), ('L', -13.3, -11.0), ('A', -12.9464, -10.8536, -12.8, -10.5), ('L', -12.8, -7.25), ('A', -12.6536, -6.8964, -12.3, -6.75), ('L', -10.26, -6.75), ('A', -10.0688, -6.788, -9.9067, -6.8962), ('L', -6.1467, -10.6512), ('A', -6.0381, -10.8135, -6.0, -11.005), ('L', -6.0, -14.045), ('A', -5.9934, -14.0958, -5.9741, -14.1434), ('L', -5.5459, -14.9016), ('A', -5.52, -15.0, -5.5459, -15.0984), ('L', -5.9741, -15.8566), ('A', -5.9934, -15.9042, -6.0, -15.955), ('L', -6.0, -18.995), ('A', -6.0381, -19.1865, -6.1467, -19.3488), ('L', -9.9067, -23.1038), ('A', -10.0688, -23.212, -10.26, -23.25), ('L', -12.3, -23.25), ('A', -12.6536, -23.1036, -12.8, -22.75), ('L', -12.8, -19.5), ('A', -12.9464, -19.1464, -13.3, -19.0), ('L', -14.3, -19.0), ('A', -14.4414, -19.0586, -14.5, -19.2), ('L', -14.5, -19.5), ('L', -14.8, -19.5), ('A', -14.9414, -19.5586, -15.0, -19.7)], [-12.7, -28.7, ('A', -13.4071, -28.4071, -13.7, -27.7), ('L', -13.7, -25.5), ('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), ('A', -9.7929, -28.4071, -10.5, -28.7), ('L', -12.7, -28.7)], [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), ('L', 9.5, -25.5), ('A', 9.7929, -24.7929, 10.5, -24.5), ('L', 12.7, -24.5), ('A', 13.4071, -24.7929, 13.7, -25.5), ('L', 13.7, -27.7)], [-3.1439, -19.5129, ('A', -3.8891, -18.8891, -4.5129, -18.1439), ('L', -3.2814, -16.5985), ('A', -3.65, -15.0, -3.2814, -13.4015), ('L', -4.5129, -11.8561), ('A', -3.8891, -11.1109, -3.1439, -10.4871), ('L', -1.5985, -11.7186), ('A', 0.0, -11.35, 1.5985, -11.7186), ('L', 3.1439, -10.4871), ('A', 3.8891, -11.1109, 4.5129, -11.8561), ('L', 3.2814, -13.4015), ('A', 3.65, -15.0, 3.2814, -16.5985), ('L', 4.5129, -18.1439), ('A', 3.8891, -18.8891, 3.1439, -19.5129), ('L', 1.5985, -18.2814), ('A', 0.0, -18.65, -1.5985, -18.2814), ('L', -3.1439, -19.5129)], [9.99, -5.1, ('A', 9.4156, -5.2143, 8.9288, -5.5399), ('L', 6.4112, -8.0601), ('A', 5.9244, -8.3857, 5.35, -8.5), ('L', -5.35, -8.5), ('A', -5.9244, -8.3857, -6.4112, -8.0601), ('L', -8.9288, -5.5399), ('A', -9.4156, -5.2143, -9.99, -5.1), ('L', -11.85, -5.1), ('A', -12.9107, -4.6607, -13.35, -3.6), ('L', -13.35, 0.0), ('L', -13.35, 3.6), ('A', -12.9107, 4.6607, -11.85, 5.1), ('L', -9.99, 5.1), ('A', -9.4156, 5.2143, -8.9288, 5.5399), ('L', -6.4112, 8.0601), ('A', -5.9244, 8.3857, -5.35, 8.5), ('L', 5.35, 8.5), ('A', 5.9244, 8.3857, 6.4112, 8.0601), ('L', 8.9288, 5.5399), ('A', 9.4156, 5.2143, 9.99, 5.1), ('L', 11.85, 5.1), ('A', 12.9107, 4.6607, 13.35, 3.6), ('L', 13.35, 0.0), ('L', 13.35, -3.6), ('A', 12.9107, -4.6607, 11.85, -5.1), ('L', 9.99, -5.1)], [-13.7, 25.5, ('L', -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), ('L', -9.5, 25.5), ('A', -9.7929, 24.7929, -10.5, 24.5), ('L', -12.7, 24.5), ('A', -13.4071, 24.7929, -13.7, 25.5)], [-3.2814, 16.5985, ('L', -4.5129, 18.1439), ('A', -3.8891, 18.8891, -3.1439, 19.5129), ('L', -1.5985, 18.2814), ('A', 0.0, 18.65, 1.5985, 18.2814), ('L', 3.1439, 19.5129), ('A', 3.8891, 18.8891, 4.5129, 18.1439), ('L', 3.2814, 16.5985), ('A', 3.65, 15.0, 3.2814, 13.4015), ('L', 4.5129, 11.8561), ('A', 3.8891, 11.1109, 3.1439, 10.4871), ('L', 1.5985, 11.7186), ('A', 0.0, 11.35, -1.5985, 11.7186), ('L', -3.1439, 10.4871), ('A', -3.8891, 11.1109, -4.5129, 11.8561), ('L', -3.2814, 13.4015), ('A', -3.65, 15.0, -3.2814, 16.5985)], [10.5, 28.7, ('L', 12.7, 28.7), ('A', 13.4071, 28.4071, 13.7, 27.7), ('L', 13.7, 25.5), ('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), ('A', 9.7929, 28.4071, 10.5, 28.7)], ], # 4040L-I8: FreeCAD-library "Profile-40x40L-I-Type_Slot8.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_4040l_i_slot8: section 40 x 40, # area 657.0137 mm^2 on the model "4040L-I8": [ [-20.0, -5.5, ('L', -20.0, -16.0), ('A', -18.8284, -18.8284, -16.0, -20.0), ('L', -5.5, -20.0), ('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), ('A', -6.8536, -15.6464, -7.0, -16.0), ('L', -7.0, -17.5), ('A', -7.1464, -17.8536, -7.5, -18.0), ('A', -9.2678, -17.2678, -10.0, -15.5), ('L', -10.0, -14.19), ('A', -9.6194, -12.2766, -8.5355, -10.6545), ('L', -7.0955, -9.2145), ('A', -5.4734, -8.1306, -3.56, -7.75), ('L', 3.56, -7.75), ('A', 5.4734, -8.1306, 7.0955, -9.2145), ('L', 8.5355, -10.6545), ('A', 9.6194, -12.2766, 10.0, -14.19), ('L', 10.0, -15.5), ('A', 9.2678, -17.2678, 7.5, -18.0), ('A', 7.1464, -17.8536, 7.0, -17.5), ('L', 7.0, -16.0), ('A', 6.8536, -15.6464, 6.5, -15.5), ('L', 5.0, -15.5), ('A', 4.2929, -15.7929, 4.0, -16.5), ('L', 4.0, -18.5), ('A', 4.4393, -19.5607, 5.5, -20.0), ('L', 16.0, -20.0), ('A', 18.8284, -18.8284, 20.0, -16.0), ('L', 20.0, -5.5), ('A', 19.5607, -4.4393, 18.5, -4.0), ('L', 16.5, -4.0), ('A', 15.7929, -4.2929, 15.5, -5.0), ('L', 15.5, -6.5), ('A', 15.6464, -6.8536, 16.0, -7.0), ('L', 17.5, -7.0), ('A', 17.8536, -7.1464, 18.0, -7.5), ('A', 17.2678, -9.2678, 15.5, -10.0), ('L', 14.19, -10.0), ('A', 12.2766, -9.6194, 10.6545, -8.5355), ('L', 9.2145, -7.0955), ('A', 8.1306, -5.4734, 7.75, -3.56), ('L', 7.75, 3.56), ('A', 8.1306, 5.4734, 9.2145, 7.0955), ('L', 10.6545, 8.5355), ('A', 12.2766, 9.6194, 14.19, 10.0), ('L', 15.5, 10.0), ('A', 17.2678, 9.2678, 18.0, 7.5), ('A', 17.8536, 7.1464, 17.5, 7.0), ('L', 16.0, 7.0), ('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), ('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), ('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), ('A', 6.8536, 15.6464, 7.0, 16.0), ('L', 7.0, 17.5), ('A', 7.1464, 17.8536, 7.5, 18.0), ('A', 9.2678, 17.2678, 10.0, 15.5), ('L', 10.0, 14.19), ('A', 9.6194, 12.2766, 8.5355, 10.6545), ('L', 7.0955, 9.2145), ('A', 5.4734, 8.1306, 3.56, 7.75), ('L', -3.56, 7.75), ('A', -5.4734, 8.1306, -7.0955, 9.2145), ('L', -8.5355, 10.6545), ('A', -9.6194, 12.2766, -10.0, 14.19), ('L', -10.0, 15.5), ('A', -9.2678, 17.2678, -7.5, 18.0), ('A', -7.1464, 17.8536, -7.0, 17.5), ('L', -7.0, 16.0), ('A', -6.8536, 15.6464, -6.5, 15.5), ('L', -5.0, 15.5), ('A', -4.2929, 15.7929, -4.0, 16.5), ('L', -4.0, 18.5), ('A', -4.4393, 19.5607, -5.5, 20.0), ('L', -16.0, 20.0), ('A', -18.8284, 18.8284, -20.0, 16.0), ('L', -20.0, 5.5), ('A', -19.5607, 4.4393, -18.5, 4.0), ('L', -16.5, 4.0), ('A', -15.7929, 4.2929, -15.5, 5.0), ('L', -15.5, 6.5), ('A', -15.6464, 6.8536, -16.0, 7.0), ('L', -17.5, 7.0), ('A', -17.8536, 7.1464, -18.0, 7.5), ('A', -17.2678, 9.2678, -15.5, 10.0), ('L', -14.19, 10.0), ('A', -12.2766, 9.6194, -10.6545, 8.5355), ('L', -9.2145, 7.0955), ('A', -8.1306, 5.4734, -7.75, 3.56), ('L', -7.75, -3.56), ('A', -8.1306, -5.4734, -9.2145, -7.0955), ('L', -10.6545, -8.5355), ('A', -12.2766, -9.6194, -14.19, -10.0), ('L', -15.5, -10.0), ('A', -17.2678, -9.2678, -18.0, -7.5), ('A', -17.8536, -7.1464, -17.5, -7.0), ('L', -16.0, -7.0), ('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), ('A', -19.5607, -4.4393, -20.0, -5.5)], [-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), ('L', -12.3, -11.8), ('A', -11.9464, -11.9464, -11.8, -12.3), ('L', -11.8, -17.7), ('A', -11.9464, -18.0536, -12.3, -18.2), ('L', -16.0, -18.2)], [18.2, -16.0, ('A', 17.5556, -17.5556, 16.0, -18.2), ('L', 12.3, -18.2), ('A', 11.9464, -18.0536, 11.8, -17.7), ('L', 11.8, -12.3), ('A', 11.9464, -11.9464, 12.3, -11.8), ('L', 17.7, -11.8), ('A', 18.0536, -11.9464, 18.2, -12.3), ('L', 18.2, -16.0)], [-18.2, 16.0, ('A', -17.5556, 17.5556, -16.0, 18.2), ('L', -12.3, 18.2), ('A', -11.9464, 18.0536, -11.8, 17.7), ('L', -11.8, 12.3), ('A', -11.9464, 11.9464, -12.3, 11.8), ('L', -17.7, 11.8), ('A', -18.0536, 11.9464, -18.2, 12.3), ('L', -18.2, 16.0)], [('C', 0.0, 0.0, 3.4)], [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), ('L', 12.3, 11.8), ('A', 11.9464, 11.9464, 11.8, 12.3), ('L', 11.8, 17.7), ('A', 11.9464, 18.0536, 12.3, 18.2), ('L', 16.0, 18.2)], ], # 4080L-I8: FreeCAD-library "Profile-40x80L-I-Type_Slot8-Body.step" (mathis (Int-Circuit), CC-BY-3.0), # step.parts profile_4080l_i_slot8: section 40 x 80, # area 1133.4545 mm^2 on the model; drawn turned 90 degrees (the longer side along Y) "4080L-I8": [ [5.6, -40.0, ('L', 16.0, -40.0), ('A', 18.8284, -38.8284, 20.0, -36.0), ('L', 20.0, -25.4), ('A', 19.5607, -24.3394, 18.5, -23.9), ('L', 16.5, -23.9), ('A', 15.7929, -24.1929, 15.5, -24.9), ('L', 15.5, -26.4), ('A', 15.6464, -26.7536, 16.0, -26.9), ('L', 17.5, -26.9), ('A', 17.8536, -27.0465, 18.0, -27.4), ('A', 17.2678, -29.1678, 15.5, -29.9), ('L', 14.19, -29.9), ('A', 12.2766, -29.5194, 10.6545, -28.4355), ('L', 9.2145, -26.9955), ('A', 8.1306, -25.3734, 7.75, -23.46), ('L', 7.75, -16.34), ('A', 8.1306, -14.4266, 9.2145, -12.8045), ('L', 10.6545, -11.3645), ('A', 12.2766, -10.2806, 14.19, -9.9), ('L', 15.5, -9.9), ('A', 17.2678, -10.6322, 18.0, -12.4), ('A', 17.8536, -12.7536, 17.5, -12.9), ('L', 16.0, -12.9), ('A', 15.6464, -13.0465, 15.5, -13.4), ('L', 15.5, -14.9), ('A', 15.7929, -15.6071, 16.5, -15.9), ('L', 18.5, -15.9), ('A', 19.5607, -15.4607, 20.0, -14.4), ('L', 20.0, 14.4), ('A', 19.5607, 15.4607, 18.5, 15.9), ('L', 16.5, 15.9), ('A', 15.7929, 15.6071, 15.5, 14.9), ('L', 15.5, 13.4), ('A', 15.6464, 13.0465, 16.0, 12.9), ('L', 17.5, 12.9), ('A', 17.8536, 12.7536, 18.0, 12.4), ('A', 17.2678, 10.6322, 15.5, 9.9), ('L', 14.19, 9.9), ('A', 12.2766, 10.2806, 10.6545, 11.3645), ('L', 9.2145, 12.8045), ('A', 8.1306, 14.4266, 7.75, 16.34), ('L', 7.75, 23.46), ('A', 8.1306, 25.3734, 9.2145, 26.9955), ('L', 10.6545, 28.4355), ('A', 12.2766, 29.5194, 14.19, 29.9), ('L', 15.5, 29.9), ('A', 17.2678, 29.1678, 18.0, 27.4), ('A', 17.8536, 27.0465, 17.5, 26.9), ('L', 16.0, 26.9), ('A', 15.6464, 26.7536, 15.5, 26.4), ('L', 15.5, 24.9), ('A', 15.7929, 24.1929, 16.5, 23.9), ('L', 18.5, 23.9), ('A', 19.5607, 24.3394, 20.0, 25.4), ('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), ('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), ('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), ('A', 9.7194, 32.2766, 8.6355, 30.6545), ('L', 7.1955, 29.2145), ('A', 5.5734, 28.1306, 3.66, 27.75), ('L', -3.46, 27.75), ('A', -5.3734, 28.1306, -6.9955, 29.2145), ('L', -8.4355, 30.6545), ('A', -9.5194, 32.2766, -9.9, 34.19), ('L', -9.9, 35.5), ('A', -9.1678, 37.2678, -7.4, 38.0), ('A', -7.0465, 37.8536, -6.9, 37.5), ('L', -6.9, 36.0), ('A', -6.7536, 35.6464, -6.4, 35.5), ('L', -4.9, 35.5), ('A', -4.1929, 35.7929, -3.9, 36.5), ('L', -3.9, 38.5), ('A', -4.3394, 39.5607, -5.4, 40.0), ('L', -16.0, 40.0), ('A', -18.8284, 38.8284, -20.0, 36.0), ('L', -20.0, 25.6), ('A', -19.5607, 24.5393, -18.5, 24.1), ('L', -16.5, 24.1), ('A', -15.7929, 24.3929, -15.5, 25.1), ('L', -15.5, 26.6), ('A', -15.6464, 26.9535, -16.0, 27.1), ('L', -17.5, 27.1), ('A', -17.8536, 27.2464, -18.0, 27.6), ('A', -17.2678, 29.3678, -15.5, 30.1), ('L', -14.19, 30.1), ('A', -12.2766, 29.7194, -10.6545, 28.6355), ('L', -9.2145, 27.1955), ('A', -8.1306, 25.5734, -7.75, 23.66), ('L', -7.75, 16.54), ('A', -8.1306, 14.6266, -9.2145, 13.0045), ('L', -10.6545, 11.5645), ('A', -12.2766, 10.4806, -14.19, 10.1), ('L', -15.5, 10.1), ('A', -17.2678, 10.8322, -18.0, 12.6), ('A', -17.8536, 12.9535, -17.5, 13.1), ('L', -16.0, 13.1), ('A', -15.6464, 13.2464, -15.5, 13.6), ('L', -15.5, 15.1), ('A', -15.7929, 15.8071, -16.5, 16.1), ('L', -18.5, 16.1), ('A', -19.5607, 15.6606, -20.0, 14.6), ('L', -20.0, -14.6), ('A', -19.5607, -15.6606, -18.5, -16.1), ('L', -16.5, -16.1), ('A', -15.7929, -15.8071, -15.5, -15.1), ('L', -15.5, -13.6), ('A', -15.6464, -13.2464, -16.0, -13.1), ('L', -17.5, -13.1), ('A', -17.8536, -12.9535, -18.0, -12.6), ('A', -17.2678, -10.8322, -15.5, -10.1), ('L', -14.19, -10.1), ('A', -12.2766, -10.4806, -10.6545, -11.5645), ('L', -9.2145, -13.0045), ('A', -8.1306, -14.6266, -7.75, -16.54), ('L', -7.75, -23.66), ('A', -8.1306, -25.5734, -9.2145, -27.1955), ('L', -10.6545, -28.6355), ('A', -12.2766, -29.7194, -14.19, -30.1), ('L', -15.5, -30.1), ('A', -17.2678, -29.3678, -18.0, -27.6), ('A', -17.8536, -27.2464, -17.5, -27.1), ('L', -16.0, -27.1), ('A', -15.6464, -26.9535, -15.5, -26.6), ('L', -15.5, -25.1), ('A', -15.7929, -24.3929, -16.5, -24.1), ('L', -18.5, -24.1), ('A', -19.5607, -24.5393, -20.0, -25.6), ('L', -20.0, -36.0), ('A', -18.8284, -38.8284, -16.0, -40.0), ('L', -5.4, -40.0), ('A', -4.3394, -39.5607, -3.9, -38.5), ('L', -3.9, -36.5), ('A', -4.1929, -35.7929, -4.9, -35.5), ('L', -6.4, -35.5), ('A', -6.7536, -35.6464, -6.9, -36.0), ('L', -6.9, -37.5), ('A', -7.0465, -37.8536, -7.4, -38.0), ('A', -9.1678, -37.2678, -9.9, -35.5), ('L', -9.9, -34.19), ('A', -9.5194, -32.2766, -8.4355, -30.6545), ('L', -6.9955, -29.2145), ('A', -5.3734, -28.1306, -3.46, -27.75), ('L', 3.66, -27.75), ('A', 5.5734, -28.1306, 7.1955, -29.2145), ('L', 8.6355, -30.6545), ('A', 9.7194, -32.2766, 10.1, -34.19), ('L', 10.1, -35.5), ('A', 9.3678, -37.2678, 7.6, -38.0), ('A', 7.2464, -37.8536, 7.1, -37.5), ('L', 7.1, -36.0), ('A', 6.9535, -35.6464, 6.6, -35.5), ('L', 5.1, -35.5), ('A', 4.3929, -35.7929, 4.1, -36.5), ('L', 4.1, -38.5), ('A', 4.5393, -39.5607, 5.6, -40.0)], [12.3, -38.2, ('A', 11.9464, -38.0536, 11.8, -37.7), ('L', 11.8, -32.3), ('A', 11.9464, -31.9464, 12.3, -31.8), ('L', 17.7, -31.8), ('A', 18.0536, -31.9464, 18.2, -32.3), ('L', 18.2, -36.0), ('A', 17.5556, -37.5556, 16.0, -38.2), ('L', 12.3, -38.2)], [12.3, 38.2, ('L', 16.0, 38.2), ('A', 17.5556, 37.5556, 18.2, 36.0), ('L', 18.2, 32.3), ('A', 18.0536, 31.9464, 17.7, 31.8), ('L', 12.3, 31.8), ('A', 11.9464, 31.9464, 11.8, 32.3), ('L', 11.8, 37.7), ('A', 11.9464, 38.0536, 12.3, 38.2)], [('C', 0.0, -20.0, 3.35)], [-12.3, -38.2, ('L', -16.0, -38.2), ('A', -17.5556, -37.5556, -18.2, -36.0), ('L', -18.2, -32.3), ('A', -18.0536, -31.9464, -17.7, -31.8), ('L', -12.3, -31.8), ('A', -11.9464, -31.9464, -11.8, -32.3), ('L', -11.8, -37.7), ('A', -11.9464, -38.0536, -12.3, -38.2)], [11.75, -8.25, ('L', 11.4754, -8.2522), ('L', 11.201, -8.2593), ('L', 10.9267, -8.2717), ('L', 10.6527, -8.2902), ('L', 10.3794, -8.3157), ('L', 10.1069, -8.3493), ('L', 9.8357, -8.3922), ('L', 9.5665, -8.4464), ('L', 9.3004, -8.5138), ('L', 9.039, -8.5976), ('L', 8.7849, -8.7014), ('L', 8.5425, -8.83), ('L', 8.3189, -8.989), ('L', 8.1253, -9.1832), ('L', 7.9761, -9.4129), ('L', 7.8829, -9.6706), ('L', 7.5158, -11.2176), ('L', 7.4059, -11.4721), ('L', 7.2431, -11.6965), ('L', 7.04, -11.8855), ('L', 6.8098, -12.0405), ('L', 6.5623, -12.1664), ('L', 6.304, -12.2685), ('L', 6.0389, -12.3512), ('L', 5.7694, -12.4181), ('L', 5.4969, -12.4719), ('L', 5.2224, -12.5147), ('L', 4.9467, -12.5483), ('L', 4.6701, -12.5738), ('L', 4.3929, -12.5924), ('L', 4.1155, -12.6048), ('L', 3.8378, -12.6119), ('L', 3.56, -12.6141), ('L', -3.56, -12.6141), ('L', -3.8378, -12.6119), ('L', -4.1155, -12.6048), ('L', -4.3929, -12.5924), ('L', -4.6701, -12.5738), ('L', -4.9467, -12.5483), ('L', -5.2224, -12.5147), ('L', -5.4969, -12.4719), ('L', -5.7694, -12.4181), ('L', -6.0389, -12.3512), ('L', -6.304, -12.2685), ('L', -6.5623, -12.1664), ('L', -6.8098, -12.0405), ('L', -7.04, -11.8855), ('L', -7.2431, -11.6965), ('L', -7.4059, -11.4721), ('L', -7.5158, -11.2176), ('L', -7.8829, -9.6706), ('L', -7.9761, -9.4129), ('L', -8.1253, -9.1832), ('L', -8.3189, -8.989), ('L', -8.5425, -8.83), ('L', -8.7849, -8.7014), ('L', -9.039, -8.5976), ('L', -9.3004, -8.5138), ('L', -9.5665, -8.4464), ('L', -9.8357, -8.3922), ('L', -10.1069, -8.3493), ('L', -10.3794, -8.3157), ('L', -10.6527, -8.2902), ('L', -10.9267, -8.2717), ('L', -11.201, -8.2593), ('L', -11.4754, -8.2522), ('L', -11.75, -8.25), ('L', -15.5, -8.25), ('A', -17.2678, -7.5178, -18.0, -5.75), ('L', -18.0, 5.75), ('A', -17.2678, 7.5178, -15.5, 8.25), ('L', -11.75, 8.25), ('L', -11.4737, 8.2522), ('L', -11.1975, 8.2593), ('L', -10.9215, 8.2717), ('L', -10.6458, 8.2903), ('L', -10.3707, 8.3158), ('L', -10.0965, 8.3494), ('L', -9.8236, 8.3923), ('L', -9.5526, 8.4463), ('L', -9.2847, 8.5135), ('L', -9.0213, 8.5968), ('L', -8.765, 8.6997), ('L', -8.5199, 8.827), ('L', -8.2928, 8.9839), ('L', -8.0941, 9.1753), ('L', -7.9375, 9.4023), ('L', -7.8354, 9.6584), ('L', -7.4167, 11.1923), ('L', -7.3255, 11.4502), ('L', -7.1778, 11.6806), ('L', -6.9853, 11.8753), ('L', -6.7626, 12.0348), ('L', -6.5208, 12.1637), ('L', -6.2671, 12.2677), ('L', -6.0061, 12.3515), ('L', -5.7404, 12.4191), ('L', -5.4717, 12.4732), ('L', -5.2009, 12.5162), ('L', -4.9288, 12.5498), ('L', -4.6558, 12.5753), ('L', -4.3822, 12.5939), ('L', -4.1083, 12.6063), ('L', -3.8342, 12.6133), ('L', -3.56, 12.6156), ('L', 3.56, 12.6156), ('L', 3.8345, 12.6134), ('L', 4.1088, 12.6063), ('L', 4.383, 12.5939), ('L', 4.6569, 12.5754), ('L', 4.9301, 12.5499), ('L', 5.2025, 12.5163), ('L', 5.4736, 12.4734), ('L', 5.7427, 12.4192), ('L', 6.0087, 12.3517), ('L', 6.27, 12.268), ('L', 6.524, 12.1641), ('L', 6.7662, 12.0354), ('L', 6.9896, 11.8763), ('L', 7.1828, 11.682), ('L', 7.3317, 11.4521), ('L', 7.4243, 11.1944), ('L', 7.8391, 9.6594), ('L', 7.9405, 9.4032), ('L', 8.0965, 9.176), ('L', 8.2948, 8.9843), ('L', 8.5216, 8.8272), ('L', 8.7665, 8.6999), ('L', 9.0227, 8.5969), ('L', 9.2859, 8.5136), ('L', 9.5537, 8.4463), ('L', 9.8245, 8.3923), ('L', 10.0973, 8.3494), ('L', 10.3714, 8.3158), ('L', 10.6464, 8.2903), ('L', 10.9219, 8.2717), ('L', 11.1978, 8.2593), ('L', 11.4739, 8.2522), ('L', 11.75, 8.25), ('L', 15.5, 8.25), ('A', 17.2678, 7.5178, 18.0, 5.75), ('L', 18.0, -5.75), ('A', 17.2678, -7.5178, 15.5, -8.25), ('L', 11.75, -8.25)], [('C', 0.0, 20.0, 3.35)], [-12.3, 38.2, ('A', -11.9464, 38.0536, -11.8, 37.7), ('L', -11.8, 32.3), ('A', -11.9464, 31.9464, -12.3, 31.8), ('L', -17.7, 31.8), ('A', -18.0536, 31.9464, -18.2, 32.3), ('L', -18.2, 36.0), ('A', -17.5556, 37.5556, -16.0, 38.2), ('L', -12.3, 38.2)], ], } FINISHES = {"clear": "#cfd2d6", "black": "#2b2c2e"} def loop_wire(loop): if isinstance(loop[0], (tuple, list)): # ("C", cx, cy, r) _, cx, cy, r = loop[0] return cq.Wire.makeCircle(r, cq.Vector(cx, cy, 0), cq.Vector(0, 0, 1)) x, y = loop[0], loop[1] edges = [] for seg in loop[2:]: start = cq.Vector(x, y, 0) if seg[0] == "L": x, y = seg[1], seg[2] edges.append(cq.Edge.makeLine(start, cq.Vector(x, y, 0))) else: x, y = seg[3], seg[4] edges.append(cq.Edge.makeThreePointArc(start, cq.Vector(seg[1], seg[2], 0), cq.Vector(x, y, 0))) return cq.Wire.assembleEdges(edges) loops = [loop_wire(loop) for loop in PROFILES[profile]] section = cq.Face.makeFromWires(loops[0], loops[1:]) body = cq.Workplane("XY").add(cq.Solid.extrudeLinear(section, cq.Vector(0, 0, length))) model = Model() model.add("profile", body, name="Profile") model.material("aluminum-generic", color=FINISHES[finish]) # 6063-T5 typical (no STEVE entry for 6063) result = model.result()