Baking Revit geometry to Rhino with materials


I am trying to bake the geometry shown in a Revit 3d view to rhino with materials intact. This is my setup:

Now, if I bake the ViewEles node, I get the elements that were visible in the view with textures and materials intact (but only if they are using a Generic appearance schema in their Revit material). Unfortunately the elements are not sectioned by the section box of the Revit view.

If I bake the ViewGeom node, the geometry of the elements is correctly sectioned by the section box, but I no longer get the materials.

Is there any way to get the view-specific-geometry (e.g. sliced by the section box) while also keeping the materials?

Any tips would be appreciated!

Hi @Pieter_Schiettecatte,

Unfortunately there is no way to bake geometry with materials right now, only elements that has materials applied.

One work around, a bit manual I have to say is, bake the Section Box and apply some clipping planes in Rhino using the baked Section Box as a guide for the Clipping Planes.

Here a definition to extract the Section Box wires. (10.5 KB)

Thanks for the quick reply Kike! Is there a way to place the clipping places through grashopper? Or perhaps would it be possible to do boolean difference using grashopper using 6 boxes (one for each side of the section box?).

There are a few on Food4Rhino as well as other scripts on the forum.

Here’s one that has a few options as well (by Profile - PeterFotiadis - McNeel Forum) (19.9 KB)



Thanks for the tip Japhy!

Are there other ways to get Revit geometry into Rhino with the materials intact, or do all routes (currently) involve baking Element Nodes?

Yes, at some point they will needed to get baked. In a lot of our examples we use Elefront 4.3 bake component. This will insert into Rhino as blocks and give you the ability to assign a bakename, which replaces any previously baked objects with the same name.

Thank you! I have a couple of follow up questions if you’ll allow me :slight_smile:

  1. In your example it looks like the materials remain intact. What are you connecting as input to the G(eometry) input on the Elefront node? A Revit ElementNode? If so, does that mean there’s some casting happening in the background that knows to extract the geometry from Element node?

  2. Is there a way to extract the geometry with materials from a Revit ElementNode? The material part is critical for my workflow.

  3. Until recently, didn’t realize that ElementNodes could be baked directly (I thought you had to extract the geometry first, which seemed to remove the materials). I was wondering if there are other (revit) nodes that allow for direct baking like that, or is it just the ElementNodes and Geometry nodes?

The Text Panel above the Bake component shows the collection of Revit Elements. It doesn’t matter how you get them, the only caveat being that they actually contain geometry. A curtain wall is a ‘system’ & contains no geometry, but is a collection geometry.

Depends on how well structured your Revit Elements are.

Not sure what nodes you are referring to, if in doubt, right click and check it out.

Thank you this is very helpful.

When you say ‘Element Preview skips all subcat/param’, does that mean it ‘evaluates’ the geometry what the ‘final’ material is in Revit and use that?

I’m trying to develop a script that works on any model that we receive, so we have no control over how materials are applied. It could be using categories/subcategories or material parameters or even painted.

Correct, it uses the calculated Render Meshes.

1 Like