diff --git a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py index 37012f0c3b..29946c4316 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py +++ b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py @@ -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", **{