Files
IfcOpenShell/src/ifcopenshell-python/ifcopenshell/api/pset_template/remove_prop_template.py
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
808 B
Python
Raw Normal View History

import ifcopenshell.util.element
class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
"prop_template": None
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
for inverse in self.file.get_inverse(self.settings["prop_template"]):
if len(inverse.HasPropertyTemplates) == 1:
inverse.HasPropertyTemplates = []
else:
has_property_templates = list(inverse.HasPropertyTemplates)
has_property_templates.remove(self.settings["prop_template"])
inverse.HasPropertyTemplates = has_property_templates
ifcopenshell.util.element.remove_deep(self.file, self.settings["prop_template"])