Creating roof without host level?

revit
python
dynamo

#1

Hi everyone, I’m working on a stadium project and have ran into a difficult situation with the roof. I’m hoping some of the people here could enlighten me with a solution.

To begin with, since it is a stadium, I have about 264 bays going around the stadium radially and on each bay there will be a stepped-roof. Yes! it’s stepped roof :joy: Meaning each roof will actually look like a stair ( so that engineers can walk on them to perform maintenance. See image below:

264 rectangle bays

stepped-roof on each bay

Since Revit doesn’t allow us to create vertical roof, I cheated it by having a thicker roof type for the risers and thinner roof type for the treads. Ultimately I have got a roof that looks like a staircase. Voila! The whole process was automated in Dynamo by “Roof.ByOutlineTypeAndLevel” Node. See attached below.

14_SteppedRoof_SystemFamily.dyn (33.0 KB)

I simply grab the boundary of each bay via “Select Model Elements”. Create a surface from it. Then intersect the surface with a bunch of predetermined planes. Work out the boundary for each step from those intersecting lines and use “Roof.ByOutlineTypeAndLevel” Node to bake the them in Revit. Simple! Right?

The problem is now each step of the stepped roof is hosted separately on a different level. Which results in about 100 extra levels for 264 bays. And we dont actually want them. We wanted to reference all the steeped-roof with the floor level below it. Is there any way to achieve this process automatically without baking in Revit those 100 levels?


#2

Hi Laychn,

Isn’t it an idea to locate the elements on 1 base level “roof” and then make a next step an caclulatie the height difference between the level “roof” and the wanted height. If you managed to calculate the difference, you can assign this value to the parameter: “Base Offset From Level”. Should be an easy next step.

Regards,
Vincent


#3

As @Vincent_Olthuis said you don’t need a separate level for every roof. It can just be an offset.
I would like to add that I’d probably tackle this problem with Roof By Extrusion, and not Roof By Footprint.


#4

Hi Vincent,

It is a brilliant idea. Dont know why it didnt cross my mind at all. I’ll try it out and let u know the result