Stairs And: Railings Plugin

| Parameter | IBC 2021 | ADA | Plugin Check | |-----------|----------|-----|---------------| | Riser height | 4″–7″ | ≤7″ | Warning if outside | | Tread depth | ≥11″ | ≥11″ | Error if <11″ | | Handrail height | 34″–38″ | 34″–38″ | Auto-set, user override | | Baluster spacing | ≤4″ | N/A | Auto-calc spacing | | Landing depth | ≥ stair width | ≥60″ | Auto-enforce | | Nosing projection | ¾″–1¼″ | Optional | Configurable |

N_balusters = floor(Total_rail_length / Max_spacing) Adjusted so end gaps ≤ half spacing. public class StairGenerator public List<Flight> CreateStraightStair(Point3d start, double rise, double run, double width) int risers = (int)Math.Round(rise / 7.0); // 7" target double h = rise / risers; double tread = run / (risers - 1); Flight flight = new Flight(); for (int i = 0; i <= risers; i++) Point3d p = new Point3d(start.X + i * tread, start.Y, start.Z + i * h); flight.AddPoint(p); return new List<Flight> flight ; stairs and railings plugin

Curve continuousRail = Curve.Join(railPaths); continuousRail = ExtendEnds(continuousRail, extension); return new Railing(continuousRail, height, balusterSpacing: 4.0); | Parameter | IBC 2021 | ADA |