From 5450233f8ef3eb97a9b7b3e604a396e76a4281ae Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 6 Nov 2021 21:10:56 +1100 Subject: [PATCH] Minor fix --- src/blenderbim/blenderbim/bim/export_ifc.py | 5 ++++- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/export_ifc.py b/src/blenderbim/blenderbim/bim/export_ifc.py index 68acdee69f..75051f7564 100644 --- a/src/blenderbim/blenderbim/bim/export_ifc.py +++ b/src/blenderbim/blenderbim/bim/export_ifc.py @@ -86,7 +86,10 @@ class IfcExporter: def sync_deletions(self): for ifc_definition_id in IfcStore.deleted_ids: - product = self.file.by_id(ifc_definition_id) + try: + product = self.file.by_id(ifc_definition_id) + except: + continue ifcopenshell.api.run("root.remove_product", self.file, **{"product": product}) def sync_object_placements(self): diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 9f2db6517f..70b7a893e7 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -373,6 +373,7 @@ class OverrideDelete(bpy.types.Operator): for obj in context.selected_objects: if obj.BIMObjectProperties.ifc_definition_id: element = file.by_id(obj.BIMObjectProperties.ifc_definition_id) + IfcStore.deleted_ids.add(element.id()) if getattr(element, "FillsVoids", None): self.remove_filling(element) if element.is_a("IfcOpeningElement"): @@ -383,7 +384,6 @@ class OverrideDelete(bpy.types.Operator): elif getattr(element, "HasOpenings", None): for rel in element.HasOpenings: self.delete_opening_element(rel.RelatedOpeningElement) - IfcStore.deleted_ids.add(element.id()) bpy.data.objects.remove(obj) return {"FINISHED"}