#2697 take only a single inverse at a time

This commit is contained in:
Thomas Krijnen
2023-01-16 21:29:59 +01:00
committed by GitHub
parent d9f1cb5525
commit b41878e960
@@ -76,7 +76,11 @@ class Usecase:
ifcopenshell.api.run("grid.remove_grid_axis", self.file, axis=axis)
# TODO: remove object placement and other relationships
for inverse in self.file.get_inverse(self.settings["product"]):
# Use a while loop so that we don't keep inverses in memory that might
# get deleted as a result of the API calls in the loop body (#2697)
while inverses := self.file.get_inverse(self.settings["product"]):
inverse = next(iter(inverses))
if inverse.is_a("IfcRelDefinesByProperties"):
ifcopenshell.api.run(
"pset.remove_pset",