// I-beam // A structural metal beam with an I shaped cross section. Often used in construction and architecture // Set units @settings(defaultLengthUnit = in, kclVersion = 1.0) // Define parameters beamLength = 6ft beamHeight = 4 flangeWidth = 2.663 flangeThickness = 0.293 webThickness = 0.193 rootRadius = 0.457 // Sketch a quadrant of the beam cross section, then mirror for symmetry across each axis. Extrude to the appropriate length iBeam = startSketchOn(-XZ) |> startProfile(at = [0, beamHeight / 2]) |> xLine(length = flangeWidth / 2) |> yLine(length = -flangeThickness) |> xLine(endAbsolute = webThickness / 2 + rootRadius) |> tangentialArc(radius = rootRadius, angle = 90) |> yLine(endAbsolute = 0) |> mirror2d(axis = X) |> mirror2d(axis = Y) |> extrude(length = beamLength)