Rhino users have been asking the same question on the McNeel forum for years: how do I get this into Revit® as something I can build on? The direct routes answer with a bare DirectShape, and a bare DirectShape is where Wall by Face stops, where there is no family to dimension to, and where the next update deletes the element. There is a longer route that ends somewhere better: through 3ds Max®, into a Mass family.
What the direct routes leave you with
A Rhino user who had just pushed a mass into Revit through Rhino.Inside asked why “the wall by face command is not allowing me to select any surfaces”. The reply from McNeel: DirectShapes are not real Revit families and are not eligible for hosting. Another user gave up on the DirectShape route because it “wouldn’t let me pick walls by face”, built a family per mass by hand, and then had to “manually locate the family in the project by aligning it with something”. A third, sending Grasshopper meshes through a different connector, could not dimension them at all — Revit cannot dimension mesh geometry created through the API.
McNeel forum: Mass created by DirectShape not allowing Wall by Face
McNeel forum: How to simplify Brep to Revit Mass transfer
Speckle Community: Cannot dimension generic models brought into Revit
The pattern is the same every time. The geometry arrives; the Revit tools do not see it. Why a Mass family and not a DirectShape.
Getting Rhino geometry into 3ds Max
3ds Max does not open a 3DM file. It does not need to. Rhino exports the formats 3ds Max imports natively, and two of them cover almost every case:
| Export from Rhino as | Arrives in 3ds Max as | Use it for |
|---|---|---|
| FBX or OBJ | Mesh objects, one per Rhino object, at the tolerance you chose on export | The default. This is the object class Levlin Bridge reads directly |
| SAT or STEP | Body Objects — exact BREP solids, which 3ds Max meshes for display. Collapse them to Editable Mesh or Editable Poly before pushing | When the surfaces must be exact and you want to set the mesh density in 3ds Max rather than in Rhino |
| DWG | Mesh or spline objects depending on the import options | Mixed 2D and 3D content |
McNeel: Rhino import and export file formats
Autodesk Help: SAT files in 3ds Max (Body Objects; sources include Rhino)
Grasshopper geometry is Rhino geometry once it is baked. Bake, name the objects, export. If a definition produces a hundred panels, bake them as a hundred objects — not one joined mesh — and each becomes its own element in Revit.
Then the same route as any 3ds Max scene
- Import into 3ds Max.
- Push from 3ds Max with Levlin Bridge.
- Pull in Revit.
Every 3ds Max object becomes its own Mass family in Revit, whether or not it sits in a group. Instances of the same object share one family type, one instance each. A model joined into a single object in Rhino returns as one element. Planar surfaces and curved primitives return as solid faces; freeform surfaces — the doubly curved, subdivided or sculpted ones Rhino is good at — return as a mesh residual inside the same Mass family, grounded by ten reference planes so they can still be dimensioned and tagged. How the solid-or-mesh decision is made.
What that means for a Rhino model in particular
Rhino is a NURBS modeller. On export to FBX or OBJ, every surface is meshed, and the export dialog asks how finely. That setting decides what Revit gets:
- A planar surface meshes to a few triangles that are all coplanar. The coplanar merge rebuilds them as one face. Density does not matter.
- A cylinder or other primitive surface meshes to a fan of facets that fit the surface. It is detected and returned as a solid form. A coarser mesh is fine here.
- A freeform surface meshes to an approximation that fits nothing. It stays a mesh residual. Here density decides how it looks in section, not whether it is hostable — it is not.
So the practical advice is: export planar and primitive geometry at any density, and export freeform geometry at the density you want to see in Revit sections, because that is the mesh Revit will keep.
What you get that the direct routes did not give
| Through a DirectShape | Through 3ds Max and Levlin Bridge |
|---|---|
| Wall by Face: no selectable surfaces | Wall by Face on any solid face |
| No family, no reference planes to dimension to | Dimension to solid faces, or to the reference planes on freeform parts |
| Manual alignment after placement | Lands at the correct position and scale |
| Update deletes and recreates; annotations lost | Pull again; the same ElementId is updated in place, annotations kept |
| One or many elements, by the tool’s choice | One element per object, by yours |
The honest boundary
What was measured is the 3ds Max side: mesh objects, groups, instances, render proxies and a SketchUp import, pulled into Revit 2026 from 3ds Max 2024. A Rhino export to FBX or OBJ produces the same object class in 3ds Max — an editable mesh — and that is why the route holds; we have not run a Rhino model through it as a separate case, and we say so. The basis of the route is a 3ds Max object collapsed to Editable Mesh or Editable Poly; Body Objects from SAT or STEP should be collapsed before pushing. If you run a Rhino model through it, we want to hear what came back — face counts, what stayed a mesh, what did not — at hi@levlin.net. What the architect can do with the result.
Frequently asked
Can 3ds Max open a Rhino 3DM file?
No. Export from Rhino as FBX or OBJ for mesh objects, or SAT or STEP for exact Body Objects. All of these are native 3ds Max import formats.
Why won’t Wall by Face work on the mass I sent from Rhino?
Because it arrived as a DirectShape, which Revit does not treat as a real family and does not allow hosting on. A Mass family with solid faces is what Wall by Face needs.
How should I bake Grasshopper geometry before export?
As separate objects, named. Each 3ds Max object becomes its own Mass family in Revit; a joined mesh returns as one element.
Does the mesh density I choose on export matter?
Not for planar or primitive surfaces, which return as solid faces at any density. For freeform surfaces it sets what the mesh residual looks like in Revit sections.
What happens to doubly curved Rhino surfaces?
They return as a mesh residual inside the Mass family, positioned exactly and grounded by ten reference planes, so they can be dimensioned and tagged but not hosted on.
Was a Rhino model measured through this route?
The 3ds Max side was measured on mesh objects, groups, instances, proxies and a SketchUp import. A Rhino FBX or OBJ export produces the same object class in 3ds Max — collapse to Editable Mesh or Editable Poly before pushing. We have not run a separate Rhino case yet; if you do, send what you got to hi@levlin.net.
Related field notes
- How to get a 3ds Max model into Revit as a Mass family
- Which 3ds Max import formats can travel on to Revit?
- Blender to Revit: the FBX, OBJ, glTF and USD route through 3ds Max
- How to get a SketchUp model into Revit as measurable elements
- Flat faces vs curved surfaces: what comes back from 3ds Max as a solid Mass, and what stays a mesh
- What can an architect do with a Mass that came back from 3ds Max?
- Do dimensions and tags survive when you pull again from 3ds Max into Revit?
- Why Levlin Bridge returns 3ds Max geometry to Revit as a Mass family, not a DirectShape
- Is there a plug-in that links Revit and 3ds Max in both directions?
- Why the Revit model arrives at the wrong scale in 3ds Max
- Why the Revit model appears twice in 3ds Max after a reload
- 3ds Max cannot link the Revit file? Four causes, in order
- Revit File Link or FBX for 3ds Max?
- Do Revit and 3ds Max versions have to match?
- What happens to deleted Revit elements in 3ds Max?
- Why modifiers and UVW break when a Revit link reloads
- What Combine By Revit Material actually does to your model
- Why “Keep material parameters on reload” doesn’t save your 3ds Max materials
- Does Datasmith move a Revit model into 3ds Max?
- Can Speckle sync Revit and 3ds Max?
- Is NVIDIA Omniverse still a Revit to 3ds Max route in 2026?
Levlin Bridge
Levlin Bridge is a Windows plug-in that moves geometry between Autodesk Revit and Autodesk 3ds Max in both directions. Push the model from Revit, pull it into 3ds Max, and push the geometry you changed back into Revit as real elements. Only the difference ever moves, so materials, modifiers and UVW stay exactly where you left them. Any Revit 2022–2027 works with any 3ds Max 2024–2027.
Levlin Bridge is in final testing and is not released. There is nothing to download yet. Leave your email and you get the 30-day trial the day it ships.