From bcfc97037ccd21a91458579d664d32e4d50b9e4b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 15 Apr 2021 19:33:01 +1000 Subject: [PATCH] Spatial aggregations are auto assigned when you create them. Neat. --- src/blenderbim/blenderbim/bim/module/aggregate/operator.py | 3 ++- src/blenderbim/blenderbim/bim/module/root/operator.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py index 5d366d5191..27a62fd4d2 100644 --- a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py +++ b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py @@ -39,7 +39,8 @@ class AssignObject(bpy.types.Operator): self.remove_collection(bpy.context.scene.collection, spatial_collection) for collection in bpy.data.collections: if collection == relating_collection: - collection.children.link(spatial_collection) + if not collection.children.get(spatial_collection.name): + collection.children.link(spatial_collection) continue self.remove_collection(collection, spatial_collection) else: diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py index 0af5b8bddb..a785741d60 100644 --- a/src/blenderbim/blenderbim/bim/module/root/operator.py +++ b/src/blenderbim/blenderbim/bim/module/root/operator.py @@ -153,6 +153,7 @@ class AssignClass(bpy.types.Operator): collection.objects.link(obj) if parent_collection: parent_collection.children.link(collection) + bpy.ops.bim.assign_object(related_object=obj.name, relating_object=parent_collection.name) else: bpy.context.scene.collection.children.link(collection)