Rhino.Inside Add Roof component

Hi everybody

I was trying to make a butterfly roof but when I plug the boundary input on the Rhino inside Add Roof component I get the following error:

  1. RhinoInside.Revit.GH: Boundary should be an horizontal planar closed curve.
    Parameter name: Boundary

Does anybody have a suggestion in order to make a roof family from a not planar closed curve?


The roof needs to be split into two pieces, or make a flat root (flat boundary) and manually insert points in the roof plane to lower the middle part. The Revit API takes flat boundaries only

See this thread for programmatically add sub-points to the floor or roof elements

Hi Ehsan

Thanks for your suggestion, unfortunately the roof I am trying to bring inside Revit does not have flat boundaries and it varies the thickness in each corner.
I am attaching a picture and the grasshopper definition.

Does anybody know a component of RhinoInside. which can create the above mentioned roof as a roof family in Revit?

Thanks in Advance

Butterfly roof.gh (4.7 KB)

You can bring any custom geometry into Revit as a DirectShape (using the Add Geometry DirectShape component) and categorize it as a Roof. The only important thing is that it’s not going to be editable in Revit and doesn’t adopt known Roof behaviours e.g. Walls can not attach their tops to underside of this roof.

Hi Ehsan

Exactly, I was hoping there was a way to make my Roof geometry from Rhino become a Roof Family in Revit via RhinoInside. Since I was aiming to have the Revit full editability.
I hope that will be a possibility in the near future.

1 Like

Hopefully although this is a Revit API limitation really. Revit doesn’t interact with custom geometry wrapped by DirectShapes and does not provide any method for incorporating custom shapes into its ‘smart’ categories.

1 Like

Hi Ehsan, What would be the most efficient method if you desire the roof in Revit to act as a roof, ie attaching walls for example. SAT export & then Mass Roof within Revit?