Openings/voids in RevitFloor and RevitWall

Hi everyone !

After some time I had some hours left to do some some further testing and I had a couple of discussions with some of our BIM modellers regarding openings/voids in floors and walls. It’s already a major improvement Speckle 2.0 supports openings/voids, so keep up the good work :rocket:! However, we might have some additional requests.

In a traditional project we have specific methods according to our company’s BIM standards to create openings/voids in floors and walls in Revit. The different situations are shown in the picture below on the left, which shows examples for a floor. It basically comes down to the following:

  1. Big openings/atria: edit floor boundary sketch line
  2. Openings at the edge: edit floor boundary sketch line
  3. Repeating openings over height: use Shaft
  4. Smaller (repeating) openings: use a Generic Model Opening family

In the current implementation in Speckle a Floor Opening Cut is used to create voids in floors, see right side of the image below. However, this is currently not according to our own BIM standards.

For Walls the RevitWallOpening component was released recently, using a similar method to create openings in walls. In our own BIM standards we usually use a Generic Model Opening family to create openings in walls. The major advantage is that you can create multiple instances of a type which increases the flexibility if you have to adjust the dimensions of a repeating opening in a later stage of the project. You can imagine that this saves a lot of time when designing a concrete core of a high-rise building.

Basically it comes down to a couple of questions from our side:

  • Is there a possibility to implement support for openings by editing the floor boundary sketch line (method 1)? Speckle already recognizes this type of void when sending a floor with this type of void from Revit to Grasshopper. Below an image of an example in Revit.

  • Is there a possibility to implement support for Generic Model Openings? This is a more difficult question I suppose, but I’m not exactly sure how complex. So I’m more than interested in your ideas about this. Below an image of an example in Revit.

I’m curious about your thoughts and suggestions :grin:!


Hey @GerranLankhorst ,

As always thanks for the very good feedback, Speckle should definitely be able to comply with your BIM standards :slight_smile:

  • floors with openings: I just checked and it seems that only Revit 2022 and 2023 support the creation of complex floor profiles (with holes), so we’ll add support there! Older versions will have to still fallback to the current method
  • generic model openings: would you be able to use the FamilyInstance node to create them? Or are they a different type of component?



Hi @teocomi,

As always thanks for the quick reply :ok_hand:!

  • Floors with openings: We currently work with Revit 2021 and for some projects with Revit 2020. I just checked: adding a second boundary line within the other boundary line results in a void in the floor object. I’m not sure if this was the support you’re meaning, or are you talking about a Revit API thing?
  • Thanks for your suggestion, I’ll have a look! It might be a bit tricky though as the generic model opening object needs a host (Work Plane). Also you need to specify that this object is used to cut the wall. I’ll come back to you later if I succeeded.
  • Floors with openings: yes, I was referring to the Revit API. I have just added support for this in Revit 2022 and 2023, but there’s nothing we can do for earlier versions unfortunately
  • Generic model openings: if you could share a sample family/project we’d be happy to see what we can do on our end to support them too!

Hi @GerranLankhorst :wave:,

RevitWall components in Grasshopper have Elements input. So any component that’ll be hosted in the wall can go into this input. It works the same way as Revit does, but the other way around. Instead of each object having a Host input, each Host as Elements input. Opening in the image below is a Generic Model👇.

I attached the Grasshopper definition, feel free to take a look at it.
Revit Wall with (18.1 KB)

As a side note, i agree with your point on creating openings in wall as Generic Model families. It makes it much easier and plus, it is schedulable.:blush:


Hi @gokermu,

Thanks for your feedback! I’ll try to have a look next week if it works with our current families.

@teocomi thanks for your offer regarding the generic model openings! We were already preparing a sample project for you, but I’ll first have a look on gokermu’s suggestion.

I’ll keep you posted!