How to bake geometry to revit?

Hi everyone,

I don’t know how to bake geometry into revit… I thought it was converted automatically for revit but i was worng so I tried to bake normally, with elefont and nothing… I can only preview it on revit.

That would typically do it, you can delete the Elefront bake. What is the error (red ballon)

have some errors upon geometry, but if its able to preview I would like to bake the way it shows at the revit viewport… Here are the errors

Your component works on simple breps right? (a box)

Preview is different than Revit actually creating the geometry. You will mostly likely need to clean up what you are importing to what Revit can handle.

If you have particular troublesome geometry you can post the file. Do note that geometry far from the origin is more likely to have issues.

See in this guide how to use Elefront filters to get the Rhino Geometry into Grasshopper, then to a directshape. I also filter for geometry type to make sure I have Breps or curves so the directshape component can handle them differently:

A Guide to Using Elefront to create Directshapes

didn’t have time to put my hands again on it, but I have a concern about the sublayers. When I use the method that discriminate the layers, the sublayers go with their mother layers? It turn to one piece or it keeps separated?

That is all up to you.

If you send in a List of geometry, then they get put in the same Directshape container. If you Graph the output so that each object is a branch in a tree, then each object will be in a different directshape.

1 Like

i didn’t get the “graph” did you mean graft?

Yes, I meant Graft. Sorry for the typo.

1 Like

So I was able to bake it under the generic model category so far… but I don’t know why i cannot edit it in revit… can’t put material, edit the piece properly or change category in revit is there a way I can do this inside revit or I need to do this in rhino before?

@Leonardo_G_Pate You can not directly edit a “DirectShape” element in Revit. They are very limited in the Revit capabilities but are very powerful in getting custom geometry inside Revit (that’s pretty much their main purpose)

1 Like

This guide is the key:

There are 3 ways:

  1. Directshapes that cannot be edited in Revit.
  2. Forms in Families that can be edited by stretch handles in Revit.
  3. Native Revit elements in system families that can be fully edited in Revit.

So deciding which to use is key. But there is always a little give and take for each. It really depends on the purpose of the model. The guide discussed this.


So I should better organize my rhino layers according to my revit template’s families and subcategorize the different elements from the same layer in sublayers?

Exemple: Create a general wall layer and make sublayers to the different walls I have and then I will be able to have all this walls categorized as a revit family?

@Leonardo_G_Pate Rhino.Inside.Revit doesn’t require any specific form of organization. It is up to you how to organize and categorize the data in Rhino. Rhino.Inside.Revit and other Grasshopper plugins provide you with the tools to extract the information from Rhino and build the Revit model as you wish. What @scottd is showing on the guide videos, are a really clean and good way of organizing the data

I get it, you guys are showing me a broader way… I am just trying to figure out how I can straight it up to serve my propouse, so I was asking if this method I said above could be done to achieve what I am trying to.

Yes. If you organize the data with layers in Rhino, you can then read the main layers (e.g. Walls) as tream them as categories, and the sublayers (e.g. Basic Walls) and treat them as [System] families. You can query the category and families in Rhino.Inside.Revit using the layer names and go from there

1 Like

Here is an example that I put together quickly.

  1. It uses Elefront to grab the lines on various layers.
  2. Then it maps the layer names to specific wall types by a text search.
  3. Then it creates the Walls by line.

cool way to do it by line profile!

For the other example, I wonder if there is a way to copy the name of all layers at once in rhino. I have at least 30 layers and always need to type one by one will be very boring.

a few plugins have layer table components but a pretty straight forward python component works as well.

import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino

sc.doc = Rhino.RhinoDoc.ActiveDoc
layers = rs.LayerNames()
if layers:
    for layer in layers: print layer
sc.doc = ghdoc

elefront has a bake layer component to add to the rhino doc

1 Like

I keep getting this error, and sometimes cause Revit to crash or come close to it.

The error says: Object reference is not defined for an object instance.

How can I locate this faulty object(s) ? Is there a way to ignore the unreferenced geometry so I can bake the rest and rework on the problematic one?

edit: I don’t know why but part of the model baked into revit. The Rhino layers go to the propper revit categories but I can’t edit type, the button is blocked, why is that happening? I need a way that i can get geometry from rhino to revit and be able to edit it, is it possible?