Extracting Void from Revit Family Instance

I’m testing the workflow of bringing Rhino geometry into Revit using DirectShapes because I am having issues bringing the geometry into Revit using Add Wall (Profile). The geometry is planar but the boundary curve is too complicated for Revit as it’s being trimmed by a complex surface.

Once the geometry is in Revit I am able to attach a face-based family to it, however, the void in the family is unable to cut the DirectShape wall (seems to be a limitation of DirectShapes).

As an alternative I’m trying to bring the Revit family instance back into Rhino and use the void to cut a hole in the geometry before bringing it back into Revit. However I’ve been unable to figure out how to do this. Any help would be appreciated.

Hi Aron Ng,

If possible can you post a lean file of what you are trying to do? Getting the void from a Family instance would require scripting, we don’t have a native component.

In Rhino I have a planar surface that is trimmed by a complex surface (a ship hull). We try to bring them into Revit as native walls using the Add Wall (Profile) component.

For this particular surface you can see that it fails:

Using DirectShapes is more robust and I am able to bring in the surface:

In Revit we would proceed to attach doors to these surfaces which would include a cutout. Because they are not really walls I created a face-based family with a cutting void. However it doesn’t cut the direct shape.

So the idea is to bring the void from the family into Rhino, trim the surface, and send the surface back to Revit. I recognize this may break things since that part of the face would not longer exist.

Attached are some files for reference.
DirectShape Bulkhead.gh (11.4 KB)
Trouble Bulkhead.3dm (75.3 KB)
Project1.rvt (6.4 MB)

Going to dive into this a bit today. Is it possible to share a bigger picture of the workflow? Large files can be privately shared by zipping and uploading here… send it

Thanks @Japhy. There isn’t much more to the workflow, other than it would be referencing 100’s of surfaces in Rhino rather than just the one.