Blender multiple hierarchies one object

I managed to receive objects from Rhino7 to Blender.
However every time I update the object in Rhino (for instance location or size) and send it to Blender a new Collection is created with seemingly the same object inside it.

I am not sure what this is about. I see in the Outliner in “Blender File” mode that these three are indeed one object but I cannot organise the Blender file in the way I want it to be, with different collections and all because Receiving keeps creating these new collections.

I do not know what type of relationships are there so one object can show up in multiple collections?

If you could help please.


Hey @rorototo ,

Welcome to the community! Feel free to Introduce yourself :person_gesturing_ok: to the community if you want to! :smiley:

Looks like we are creating a new collection with the latest stream id everytime you click on Receive. But all collections reference to the same object so there are no duplicates created.

How do you think we should organize the objects on receive? Does not creating any collection and keep track of objects some other way will solve your problem? (not a blender expert here :sweat_smile:) I am gonna ping @izzylys here if there is a quick fix we can do.

Thank you for using Speckle. Keep these coming so we can make it better :rocket:


Hey @gokermu,

Thanks for getting back!
OK so I think the ideal solution from my perspective would be if there was a coherent method that leaves the structure of the Blender file as is.
Let me tell about my workflow a bit for context:
ArchiCAD - provides the archictural base
Rhino - provides parametric elements and custom models back into ArchiCAD (or directly into Blender).
Blender - provides the end architectural visualisation of the model(s) coming from the above two programs (and sometimes custom models back into ArchiCAD).

What would be good is if I could just leave these 3 programs open and transparently swap models between them in a continuous manner. And what I mean by that is, that if I change something in one of the programs, it updates the others, if I create something new, the new elements appear in the others.
But it is paramount that the layer/collection structure does NOT change!
Again, ideally, I would see the layers in all three programs because that is how these projects are organised.
ArchiCAD and Rhino are based on layers, Blender would need to match the layer structure with Collections.

The other important thing for me is the materials workflow. So if I create something in ArchiCAD/Rhino and assign materials, those should have a Blender equivalent with a reference to the original. For archviz the materials are fairly complicated therefore I only create materials in ArchiCAD/Rhino for reference and then prepare the actual material in Blender where the end visuals are rendered. Now if I change the geometry but not the material in ArchiCAD/Rhino, push it to Speckle and receive it in Blender, it should remember my complicated Blender material, not overwrite it with the default material coming from those two programs.

Speckle’s Send/Receive system with ID’s is great but I think it should not define the file structure itself, that should be as consistent across programs as possible. It is important to keep track of what has happened in a separate place, who sent what/when but it should not define the name of collections etc.
I think most CAD programs behave similary, and basically everyone I have worked with in the construction industry in the last 15+ years kept to the same standards based on layers.

FYI I have opened a similar topic in the Rhino thread, maybe these two can be merged: (@dimitrie and @teocomi are aware)


hey @rorototo,
Thanks for your detailed explanation🎉.

We are aware that we are not really great at doing this atm. I think we can scope this out in our new “Mapping🌍” feature.

I believe we are already supporting this workflow where you can update the geometry and it will still use your Blender material.


Hey @rorototo,

I created an issue about creating collections when receiving multiple commits. We’ll tackle this in the coming weeks🤞: