From 8b0b1699f6d4b27e01f4f152b3632e90de3b6e23 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 30 Aug 2022 16:21:25 +1000 Subject: [PATCH] Fix #2370. Asset preview code did not clean up after itself properly after generating objects. --- src/blenderbim/blenderbim/bim/module/model/data.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/data.py b/src/blenderbim/blenderbim/bim/module/model/data.py index f0309a3d80..f11089e780 100644 --- a/src/blenderbim/blenderbim/bim/module/model/data.py +++ b/src/blenderbim/blenderbim/bim/module/model/data.py @@ -148,8 +148,14 @@ class AuthoringData: cls.data["preview_constr_types"][ifc_class] = {} cls.data["preview_constr_types"][ifc_class][str(relating_type_id)] = {"icon_id": icon_id, "object": obj} if to_be_deleted: - for col in obj.users_collection: - col.objects.unlink(obj) + element = tool.Ifc.get_entity(obj) + if element: + tool.Ifc.delete(element) + tool.Ifc.unlink(obj=obj) + # We do not delete the object from the scene, as that breaks Blender's asset system. + # Instead, we only "hide" it by unlinking it from all collections. + for collection in obj.users_collection: + collection.objects.unlink(obj) @classmethod def assetize_relating_type_from_selection(cls, browser=False):