You can now choose between lightweight and full classifications

This commit is contained in:
Dion Moult
2022-05-11 15:19:31 +10:00
parent 8aa38917eb
commit 9671df8491
@@ -27,6 +27,7 @@ class Usecase:
"product": None,
"reference": None,
"classification": None,
"is_lightweight": True,
}
for key, value in settings.items():
self.settings[key] = value
@@ -57,12 +58,13 @@ class Usecase:
return
migrator = ifcopenshell.util.schema.Migrator()
# This removal patch is to support a lightweight classification
old_referenced_source = self.settings["reference"].ReferencedSource
self.settings["reference"].ReferencedSource = None
if self.settings["is_lightweight"]:
old_referenced_source = self.settings["reference"].ReferencedSource
self.settings["reference"].ReferencedSource = None
relating_classification = migrator.migrate(self.settings["reference"], self.file)
relating_classification.ReferencedSource = self.settings["classification"]
self.settings["reference"].ReferencedSource = old_referenced_source
if self.settings["is_lightweight"]:
relating_classification.ReferencedSource = self.settings["classification"]
self.settings["reference"].ReferencedSource = old_referenced_source
self.file.create_entity(
"IfcRelAssociatesClassification",
**{