I am experiencing an issue where objects are duplicated in Blender when importing models from Revit through Speckle. Instead of updating existing elements, Speckle creates new duplicates each time I receive the data.
What I have tried:
Using the element_id from Revit to identify objects and remove duplicates via a custom script in Blender.
Selecting and running a script in the Receive Script option in Speckle (Blender).
Checking if the speckle_id or element_id is properly assigned to objects, but duplicates still appear.
Running Python scripts in Blender to clean duplicates manually, but it seems that objects do not retain their identifiers correctly.
Expected Behavior:
When receiving data in Blender, existing objects should be updated instead of being duplicated.
If an object with the same Revit element_id already exists in the scene, it should not be imported again.
Questions:
Is there an official method to prevent duplicate objects when receiving Speckle data in Blender?
Does Speckle currently support updating existing objects in Blender rather than creating new ones?
Are there any planned updates addressing this issue?
Would appreciate any insights from the developers or anyone who has solved this problem. Thank you!
Thanks for reporting this! The issue of duplicated elements when sending from Revit to Blender is a known one, and we do have a ticket for it in our backlog. Admittedly, it has been there for quite some time, which partly reflects the level of usage of this workflow. That said, we understand this is a priority for you, and we’ll report back when there’s progress on getting it resolved.
Is this really caused by Speckle only ? (I have no clue)
Because we Vectorworks users have some problems with imported duplicates for IFC or exchange with 3DCC Apps like C4D or Twinmotion and material over writings.
The problem is that in many cases VW assigns unexpectedly new UUIDs for geometry that was edited too much. Like when inserting Doors or Windows in Walls (?) or such things. I think here not necessary duplicates, but loss of overwriting materials and such.
Maybe Revit does similar with UUIDs too ?
On the other hand, Speckle usually would delete the old, no more existing ID objects (?)
I think the issue might be related to how Speckle handles element_id. In Revit, each object has a unique element_id, which usually remains unchanged after editing. However, when importing into Blender via Speckle, objects get duplicated even if their element_id stays the same.
I tried removing duplicates in Blender based on element_id, but that didn’t help—duplicates still appear after re-importing. It seems like Speckle might be treating already existing objects as new instead of updating them, even when their identifiers match.
I also suspect that Revit might be changing UUID when objects are edited, similar to what happens in Vectorworks. If that’s the case, Speckle could be interpreting modified objects as entirely new instances and failing to remove the old versions. In theory, Speckle should automatically delete objects that no longer exist in the exported model, but that doesn’t seem to be happening.
I think it would be useful to check element_id and UUID in Speckle Web—maybe they are changing between exports. If so, the issue might not be just with Speckle but also with how Revit transmits the data.
Thanks for sharing the link! Unfortunately, I’m getting an authentication error when trying to access it. It seems like I don’t have permission to view this issue. Would it be possible to add me to the workspace or provide a summary of the current status of this bug?