Deleting an element now also auto deletes its associated distribution ports

This commit is contained in:
Dion Moult
2022-05-06 10:38:38 +10:00
parent 92432f453d
commit 42edcda8bd
3 changed files with 22 additions and 0 deletions
@@ -334,6 +334,8 @@ class OverrideDeleteTrait:
elif getattr(element, "HasOpenings", None):
for rel in element.HasOpenings:
self.delete_opening_element(rel.RelatedOpeningElement)
for port in ifcopenshell.util.system.get_ports(element):
self.remove_port(port)
def delete_opening_element(self, element):
obj = IfcStore.get_element(element.VoidsElements[0].RelatingBuildingElement.id())
@@ -343,6 +345,9 @@ class OverrideDeleteTrait:
obj = IfcStore.get_element(element.id())
bpy.ops.bim.remove_filling(obj=obj.name)
def remove_port(self, port):
blenderbim.core.system.remove_port(tool.Ifc, tool.System, port=port)
class OverrideDelete(bpy.types.Operator, OverrideDeleteTrait):
bl_idname = "object.delete"