2021-01-12 15:12:53 +11:00
|
|
|
class Usecase:
|
2021-03-27 19:14:32 +11:00
|
|
|
def __init__(self, file, **settings):
|
2021-01-12 15:12:53 +11:00
|
|
|
self.file = file
|
|
|
|
|
self.settings = {"opening": None}
|
|
|
|
|
for key, value in settings.items():
|
|
|
|
|
self.settings[key] = value
|
|
|
|
|
|
|
|
|
|
def execute(self):
|
|
|
|
|
to_remove = [] # See bug #1224
|
|
|
|
|
for rel in self.file.by_type("IfcRelVoidsElement"):
|
|
|
|
|
if rel.RelatedOpeningElement == self.settings["opening"]:
|
|
|
|
|
to_remove.append(rel)
|
|
|
|
|
break
|
|
|
|
|
for rel in self.file.by_type("IfcRelFillsElement"):
|
|
|
|
|
if rel.RelatingOpeningElement == self.settings["opening"]:
|
|
|
|
|
to_remove.append(rel)
|
|
|
|
|
break
|
|
|
|
|
self.file.remove(self.settings["opening"])
|
|
|
|
|
for element in to_remove:
|
|
|
|
|
self.file.remove(element)
|