Optimise all editing API functions to be 100x faster when you're dealing with proprietary BIM exports with loads of shared owner histories. See #1904 and #1905.

This commit is contained in:
Dion Moult
2022-01-10 12:12:18 +11:00
parent 43c74010a5
commit ce3490824d
@@ -26,7 +26,7 @@ class Usecase:
"owner.create_owner_history", self.file, **self.settings "owner.create_owner_history", self.file, **self.settings
) )
return self.settings["element"].OwnerHistory return self.settings["element"].OwnerHistory
if len(self.file.get_inverse(self.settings["element"].OwnerHistory)) > 1: if self.file.get_total_inverses(self.settings["element"].OwnerHistory) > 1:
new = ifcopenshell.util.element.copy(self.file, self.settings["element"].OwnerHistory) new = ifcopenshell.util.element.copy(self.file, self.settings["element"].OwnerHistory)
self.settings["element"].OwnerHistory = new self.settings["element"].OwnerHistory = new
self.settings["element"].OwnerHistory.ChangeAction = "MODIFIED" self.settings["element"].OwnerHistory.ChangeAction = "MODIFIED"