Tuesday, January 19, 2010

Parametric Stadium Seating Bowl Design in Revit

December 2008 I walked out of AU with two goals in mind:

1) To learn Revit, because I'd never used it.
2) To use Revit to build a Stadium Sightline Design Tool.

I flew back to Thailand and, settling into what became a year-long break, got down to business...13 months, 2 trips back to the US, 2 computers, 2 releases of Revit, and 4 South East Asian cities later, this is what I came up with.

Part 1: The Grid
Understanding the principles of seating bowl grid geometry is one thing, programming a grid family is a much tougher nut to crack...but i figured it out.

Part 2: The Section
3 decades ago (1997, actually) I learned about C-values, Focal Distances and all that. Putting it together here though required both digging into trig fundamentals and entering a list of parameters as long as my arm.

The Sightline Design Family I developed uses the key variables: C-Value, Distance to First Spectator, Eye Height, Row Width. I also threw in a parameter for Minimum Incremental Distance Between Treads, essentially a rounding factor, which can positively impact construction efficiency.

Creating a section in 3D allowed me to project a preliminary seat count for each structural bay. I have different tool for counting seats more definitively as the design progresses.

Though I only show the seating section as a single mass here, I also have a version which will itemize and schedule each individual piece of precast.  This could be a useful tool for quantity surveys in the later stages of the design.

Part 3: The Bowl
Here I bring both tools together. The model shown took me about 10 minutes to assemble. By linking my sightline section family to the grid, I can cycle through endless bowl options.

There is surely more to investigate; vomitories, disabled platforms, rails and such...Right now, my priority is to look at a method which imports x,y,z points from an Excel spreadsheet. That might make things a bit easier because these families do get a bit heavy.

I owe 2 debts of extreme gratitude to a pair of guys who don't even know I exist.

First is David Baldacchino. I took his class on Fuzzy Math Essentials at AU in 2008. I didn't know anything about Revit Families when I walked in, but knew I would be able to tackle this project when I walked out. I kept the class handout and referenced it often. His blog is here: http://do-u-revit.blogspot.com/

The other is the Revit Family Man. I don't know what became of him because his site has gone a little quiet, but I reviewed his page about Revit Formulae almost every time I sat down: http://revitfamilies.blogspot.com/2005/10/revit-formulae.html

I'd love feedback from others who have been looking at stadium design Revit. I think there is a lot more to be explored, and its fun too!


  1. Way to go!!! Now I know that doing that class was worth it. I'm humbled and in awe :)

    PS: I love your goal in life. If you need someone to clean your house for ya and help out with parameters, gimme a call lol!

  2. Good stuff! Keep going!

    For importing from Excel, check out Harry Matison's AU class from AU09.

    Importing from CSV files is much easier because you can do it natively with .NET. If you need help with that, post on AUGI's Revit API forum and we can assist you.

  3. Awesome read!

    Can I ask how you set up your seat count so changes to the bowl automatically update the seating schedule?

  4. Is there any chance you might be willing to share some of this research?! It is exceptional and would be invaluable to my current studio project! We're primarily interested in the use of precast concrete, but if we could correctly develop the seating bowl of our arena the project would be taken to the next level. Please let me know!

  5. This is really cool! I need help calculating the riser height if I am given a C-value. Do you happen to have a formula for this?

  6. thank u for helping us with this post for any services click belowBIM Implementation