Wall by Face from mass generated in Rhino

I’ve created geometry in Rhino that I then pushed to Revit as a mass. Using either the Bake Selected (Mass category) or the AddDirectShape.ByGeometry (Mass category) works just fine insofar as the geometry successfully bakes in the Revit environment. However, I cannot create a wall by face on the mass; the mass just cannot be clicked on. Any suggestions?

1 Like

Additional information: I’ve also noticed that the mass does not appear in the Project Browser under Families > Mass. Is there a reason for this?


To create a wall by the face you need a Mass Family in the document.
Here a sample of doing a volume using Rhino SubD and transferring it as a Mass Family.
You can see the Family called Shape3 in the screenshot.
I placed the walls and windows manually.


Great, thanks for you help. This has solved my current issue. However, I notice that the Mass Family does not have full editing functionality in the Edit Family dialog. For example, I can’t drag edges or faces to reshape the Mass. As there are plenty of people in the office who don’t use Rhino, the ultimate goal is to have fully functional Revit objects even at the early conceptual massing stage. A workaround here is to redraw the Mass in Edit Family using the pushed Rhino geometry as a guide.

1 Like

I’m trying to do the same thing – the solution is helpful, but is there a way to do it as an in-place mass? I want the host geometry from rhino to be located in the exact same place in Revit…

The In-place components are not possible through Revit’s SDK. So another way needs to be found.

You can create a Mass Family and insert it back in the same place it is in Rhino. The key is to move the Rhino geometry to 0,0,0 when making the Family. That is the base location that Revit likes.

Then you can use that Wall by Face in Revit to make a wall on it.

And that Mass can be edited directly in Revit if Grasshopper is not around:

Any questions?

Thank you so much for this – I tried it, but in the end, yes, some questions. See the graphic.

It’s really helpful seeing example definitions like this.

OK, let me give this list a try:

  1. The points at the start were a list so that the Family will be inserted multiple times. But the first point in the list was also the origin point for the geometry in Rhino that will become the Family.
  2. Yes, the Vec2pt B value is 0,0,0. This make sure the objects are moved to 0,0,0 from their original Rhino position. Families in Revit are always created at 0,0,0.
  3. The Generic family is fine as a template. I think these templates set a number of defaults that are typical for each family type.
  4. The Family.GetType component simple gets the one Type that is part of the new Family definition. It is a little odd, but component style Families in Revit only have one type. Still, only a Type can be inserted, not a Family. That component essentially converts the Family name to a Type.
  5. On the ByLocation component it is working. This problem is that the Mass object does not show up by default based on the Revit view settings. Go to Visibilty/Graphic overrides in the Properties panel to get the Mass objects to actually display.

Hope that gets you rolling,

Hi guys, I’ve been trying this technique, but the AddFamilyInstance.ByLocation node keeps giving me a “Mass contains to solid geometry” and although when I zoom to fit in Revit it seems to “sense” the volume, but it’s actually empty (mass category is visible). AND the family itself is empty. my geometry is already at 0,0,0. what could be the issue? I tried referencing both Subd and Nurbs options.

Additionally, I tried Deconstructing the Brep to separate faces and it started to work (kinda). Only it brought only some of the surfaces in. Any fool-proof/clean way to bring SubD’s in from Rhino to Revit?

Are you converting SubDs to Nurbs before bringing into Revit?

I’ve tried both ways. Subd and Nurbs, exploded and joined, nothing seems to give me satisfactory results. I can maybe upload my subd and you give it a try? I’d appreciate it.

1 Like

Ya of course. Send it over and we can take a look

Here you go @eirannejad :slight_smile: thanks!
SubDTest.3dm (1.3 MB)

1 Like

We’re testing this issue and will update soon. Please follow the issue here https://github.com/mcneel/rhino.inside-revit/issues/175

1 Like

btw, when I try to bring a subd in as a form inside the conceptual massing environment, it just doesn’t bring some of the surfaces at all.

Is there any way to do the wall by face step from within grasshopper?

Not yet. You would need to work with @eirannejad if what options exist in Python. It gets a bit complicated trying to keep the mass and wall automatically synced.

@schmid.matt There is a custom python node on this issue that might help you solve your immediate problem while we work on a native component for Wall by face

Thanks Ehsan, much appreciated!

1 Like

Hello Ehsan!

Any update on this matter? Is the custom python node up to date?

A Grasshopper component “add wall by face” would be of most help!