Extracting Floors from Revit

Hello, I am attempting to get a floor outline from Revit using RhinoInside. I have multiple interconnected floor elements (floors of varying depths) that are modeled on a given Revit Level. Additionally, my floor also has openings modeled so the overall floor representation Brep gets complex.

I was wondering what the best methodology would be to extract these floor boundaries into Grasshopper, combine them, and get the external boundary representation of the overall floor slab. I think I also need to figure out a way to determine the top/bottom face (filter out the unnecessary side faces from each floor element). Thanks in advance for any suggestions!

1 Like

Hi there,

Grasshopper is not available at the moment, but i think following will help you:

  • Deconstruct Brep, Get Faces
  • List Item, Select the Face you want to extract its boundaries with its index
  • Connect Curve node into its output, You will get boundaries of that surface.
  • Region Union to get its outer boundary

If you follow this steps you will get the external boundary of the overall slab. I will share the Grasshopper definition when i am available.

1 Like

Thanks for the reply! I will give it a shot in the order you described.

Hi again,

Since Rhino.Inside is not available for Revit 20222 yet, I haven’t got a chance to create the description. Have you tried the steps I described above? Did it work? If it did, please check this as solved.

Hi there,

I hope this is what you are looking for.

Extract Floor Boundaries.gh (10.4 KB)


@mucahitbgoker this worked just as intended. Thank you so much for your advice and for providing the grasshopper example. This will be very helpful! If there are 2-3 separated slabs on the level the final union component will have 2-3 items, then all we would need to do is browse through the list and select the intended slab boundary. Here are some before and after images from my Revit extraction.



Hey @atkinson,

Glad it worked. One advice would be to flatten the input before “Region Union” so it would directly give exterior boundary. This way there will be no need for “List item”.