Unable to receive objects in Revit

I have a 3D City model in Speckle. It’s created using SpecklePy.


I can load it into Blender.

But not into Revit unfortunately. It gives an error. Not in Revit 2023 and Revit 2024.
-I tried al the importsettings
-I use the latest Speckle Plugin


Hopefully there is a solution!

in waiting of your response.

with kind regards,


Hello Maarten, I tried to import your model in Revit 2024 and it doesn’t give me an error, but it doesn’t create anything in the model either, basically, I tried with Family DXF in the mesh import method but there are too many elements to import in a single individual model, there are more than 2600 elements to transform.

In advanced Settings.

After doing a selection sweep there is nothing in the model.

I tried on a blank model and a new family and on both I had the same result a successful but empty import.

I have never worked with blender, is there a way to separate the terrain elements into separate speckle models and map them to toposolid from the speckle app in your blender?
and the buildings tell you in models separated by block or street to map the speckle as mass?

Do you see somewhere in the speckle settings in blender a way to map the elements you created and give them a category like toposolid, mass or generic model?

In SketchUp there is a function to categorize the elements you send and therefore those that should reach you.

because I see that all the 2600 elements you have like floors, streets and buildings in the same category in speckle. Maybe that’s the problem, along with the density of elements and their size or units (mm).

Try importing a couple of streets separately to see.


1 Like

Your Object.Geometry.Mesh objects have a specified property textureCoordinates which you have a null value for. The expected value is a List even if it is empty. The Mesh.create() method in specklepy should default to this.

I have a few more things you could try:

  • Your top level object which is currently a custom “Exchange.Speckle.SpeckleExport” could effectively mirror the now de facto standard for top level data objects which is either a Collection, a Model or an object that fulfils the same contract

  • Rather than an objects property, try an elements property for your data the OOTB traversal will handle that if set to type List.

  • From there, you could implement a Base object and add those generated meshes as displayValue with type List. Doing so would allow you to arbitrarily add other props to the Base object if you needed.

  • Not critical, but you have the same applicationId for all the objects. This isn’t expected, but shouldn’t be causing any problems. applicationId is intended to be the internal id of object as set by the application it came from.

We can work on more as they arise, but if you could try those…


Hi Jonathan and Alvaro,

Thanks a lot! That was the point! It’s working now!

The code is on this repository:

One last question: The colors are visible in Blender but not in Revit. Is there a way to fix that?