Project Title: Long-Span Stadium Roof Configurator For my final 4-unit project, I am building a "Long-Span Stadium Roof Configurator." As someone who plays and watches a lot of tennis, I wanted to combine structural engineering with a real-world sports architecture problem. This tool will use Dynamo to parametrically generate and evaluate a tennis stadium roof structure based on structural span rules, ball clearance constraints, and environmental impact (sunlight and carbon).
Intended users Structural engineering students or professionals doing early-stage conceptual design, and sports architects who want to quickly see how a roof's shape impacts the structural depth, court shading, and embodied carbon before committing to a final layout.
Need you’re trying to provide a solution or support for Designing a roof for a tennis stadium is tricky because it has to span huge distances without columns, which makes the trusses deep and heavy. At the same time, the roof can't hang too low or it will block high lobs (requiring a strict 40+ ft minimum clearance). Additionally, harsh, uneven shadows on the court during a daytime match can ruin visibility for the players. Normally, checking all of these things—structural span-to-depth ratios, clearance clashes, and solar shading—takes a lot of manual back-and-forth modeling. My tool automates this so the designer can flex the stadium dimensions and get instant visual and quantitative feedback on whether their roof design actually works.
Inputs • Constants: Standard ITF tennis court geometry, the 40-foot minimum lob clearance envelope, and the latitude of the San Francisco Peninsula (for accurate solar vectors). • Geometric Variables (Sliders): Stadium seating bowl dimensions (width, length, height), roof arch height, truss spacing, and the number of panel points per truss. • Analysis Variables (Sliders): Assumed steel weight (plf) and Global Warming Potential (GWP) coefficient for the carbon takeoff, plus the day of the year and hour of the day for the shadow analysis.
Underlying logic of the model you’ll implement 1. Base Geometry: The script builds the tennis court, a parametric 3D seating bowl, and a 40-foot solid "clash volume" over the court. It then lofts a roof surface over the stadium and discretizes it into structural bays. 2. Structural Generation: Using custom DesignScript, the tool generates Pratt trusses across the roof. It calculates the required structural depth for each individual truss based on its specific span, using a standard L/15 rule-of-thumb, and dynamically offsets the bottom chords. 3. Clash & Carbon Math: The script runs a boolean intersection between the generated steel members and the 40-foot clearance box. Simultaneously, it measures the total linear footage of the structural lines to calculate estimated tonnage and total embodied carbon. 4. Solar Engine: A custom Python script calculates the sun's directional vector based on the day, hour, and location. It projects the roof's boundary down onto the playing surface and uses intersection nodes to trim the shadow exactly to the court limits.
Outputs • 3D Visualizer: The generated 3D geometry showing the roof structure and Pratt trusses over the stadium, with a layered, mathematically accurate US Open-colored tennis court. • Clash Dashboard: A text readout that alerts the user if the roof fails the clearance check, accompanied by a visual filter that turns any clashing steel members bright red. • Material Takeoff: A dashboard readout of the estimated steel tonnage. • Carbon Impact Dashboard: A dashboard readout showing the roof's embodied carbon impact in Metric Tons of CO2. • Shading Metric: A visual shadow cast onto the court, paired with a dashboard readout calculating the exact percentage of the playing surface covered in shade at that moment.