Minor fix

This commit is contained in:
Dion Moult
2021-11-06 21:10:56 +11:00
parent 8e215382f7
commit 5450233f8e
2 changed files with 5 additions and 2 deletions
+4 -1
View File
@@ -86,7 +86,10 @@ class IfcExporter:
def sync_deletions(self): def sync_deletions(self):
for ifc_definition_id in IfcStore.deleted_ids: 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}) ifcopenshell.api.run("root.remove_product", self.file, **{"product": product})
def sync_object_placements(self): def sync_object_placements(self):
@@ -373,6 +373,7 @@ class OverrideDelete(bpy.types.Operator):
for obj in context.selected_objects: for obj in context.selected_objects:
if obj.BIMObjectProperties.ifc_definition_id: if obj.BIMObjectProperties.ifc_definition_id:
element = file.by_id(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): if getattr(element, "FillsVoids", None):
self.remove_filling(element) self.remove_filling(element)
if element.is_a("IfcOpeningElement"): if element.is_a("IfcOpeningElement"):
@@ -383,7 +384,6 @@ class OverrideDelete(bpy.types.Operator):
elif getattr(element, "HasOpenings", None): elif getattr(element, "HasOpenings", None):
for rel in element.HasOpenings: for rel in element.HasOpenings:
self.delete_opening_element(rel.RelatedOpeningElement) self.delete_opening_element(rel.RelatedOpeningElement)
IfcStore.deleted_ids.add(element.id())
bpy.data.objects.remove(obj) bpy.data.objects.remove(obj)
return {"FINISHED"} return {"FINISHED"}