Cannot import mesh to Revit as instance

Hi, could anyone help me to solve the impossibility of importing the mesh into Revit.

I utilized the dynamo to import the mesh surface to Revit. The geometry can be watched in Dynamo, yet it cannot be loaded in Revit. I have tried “directshape” and “familyinstance” , but both of them cannot work.

Here is my Dynamo file.temp_mesh.dyn (11.9 KB)

I really appreciate any suggestions.

Try running the dynamo script inside a conceptual mass family, or a Generic model (adaptive) family

@Marcel_Rijsmus Dear Marcel Rijsmus,
Thanks for the timely reply.
I have tried it in the conceptual mass family, yet it comes to the same warnings. I utilizied several obj files (including stanford_bunny_tri), and it always went to failure.

@xiuchengyang, have you tried the MeshToolkit package?

@zhukoven Thanks for the advice.
Actually, I have tried Meshtoolkit package “ByjoinedSurfaces” like:

It works for the closed .obj mesh file, yet it fails for the un-closed mesh. The reason seems there is no solid generated by joining the surfaces. I hope I make the problem clear.

@Mark_Rainville Thanks for the suggestion.
It seems to be developed for Rhino 3DM files. My dataset is obj mesh for point cloud, so I am not sure whether it is all right.
I would like to try to use it, and I hope a surprise.

What version of Revit are you in?
Can you upload a sample mesh for use?

Don’t use the springs node for importing meshes, it’s better suited for parametric surfaces and solids that you’d get from a .sat file or from the built in geometry. Instead use the built in DirectShape.ByMesh node - it uses Revit’s tessellated shape builder, which is naturally suited for meshes:


@Dimitar_Venkov @JacobSmall Thanks very much for your help.
I utilized Revit 2016 and 2018 versions in two computers and obtained the same warning. Here, I shared the standard stanford_bunny ( and another mesh file “stairs” (
I utilized the DirectShape workflow for both datasets and obtained the same warning again. It seems the transfer of ToolKitMesh to Mesh does not work.

directshape.dyn (7.8 KB)

And I also tried to combine the mesh to solid geometry. It worked well for the closing mesh (stanfort_buddy), yet it does not support my mesh file (stairs), block_mesh.dyn (11.4 KB)

I am dedicated to import the obj mesh (generated from point clouds) to Revit. And I really appreciate your help and effort.

This is because your point cloud isn’t a closed mesh, so it can’t be a solid.

Thanks for the reply. The mesh is not closed. So I have thought DirectShape would work for it.
I followed the steps as Dimitar’s method, but it failed with the warning for both the closed stanford_buddy mesh and my unclosed mesh.
I am really confused and welcomed to your suggestions.

@xiuchengyang Converting the Mesh Toolkit mesh to a Dynamo mesh would help
mesh.dyn (19.3 KB)

The mesh in Revit …
stairs.rvt (2.3 MB)

1 Like

Dear Vikram,
Thanks very much for the wonderful job. It looks perfect. But I occurred a similar warning in the node “DirectShape.byMesh”, which came to NULL as the method of @Dimitar_Venkov. I guess the problem maybe lies in my software. I am just trying to re-install Revit, Dynamo, and the packages.
Thanks again and you really helped me a lot.

1 Like

Dear Dimitar,
Thanks very much for your nodes and help.
Sorry to disturb you again. I followed the process, yet DirectShape.ByMesh always failed with the warning.

I wonder whether you could give me more advice about the possible ways to fix the bug.

I really appreciate your effort.

I am facing the same warning. The MeshtoTkMesh node from springs is giving null output that is causing the DirectShape.ByMesh node throw the warning. I guess it cannot deal with large number of meshes.

I tried free available obj files from this site and none of them work for me.

This is most likely a revit short edge limitation. Try first reducing the mesh as shown here:

1 Like


Even after heavily reducing the number of meshes, it the MeshtoTkMesh gives “null” output.

I choose the below simpler objects for this.

Ash Tray model

Plane model

Note that you’re using the wrong node - “Mesh.ToTkMesh”. We actually want to go the other way around because we already have a toolkit mesh and want to convert it to a native dynamo mesh. Therefore you need to use the “TkMesh.ToMesh” node instead:

Note that the model you’re trying to use has a lot of triangles that are bunched up near the tips, so I had to first use the remesh node and then the reduce node and manually adjust the target triangle count. I also had to scale it up by 10 units because the overall size was too small for Revit.