mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 14:33:28 +00:00
Fix #2712.
This commit is contained in:
@@ -76,9 +76,11 @@ class Usecase:
|
|||||||
ifcopenshell.api.run("grid.remove_grid_axis", self.file, axis=axis)
|
ifcopenshell.api.run("grid.remove_grid_axis", self.file, axis=axis)
|
||||||
|
|
||||||
# TODO: remove object placement and other relationships
|
# TODO: remove object placement and other relationships
|
||||||
ignored = set()
|
for inverse_id in [i.id() for i in self.file.get_inverse(self.settings["product"])]:
|
||||||
while inverses := set(self.file.get_inverse(self.settings["product"])) - ignored:
|
try:
|
||||||
inverse = next(iter(inverses))
|
inverse = self.file.by_id(inverse_id)
|
||||||
|
except:
|
||||||
|
continue
|
||||||
if inverse.is_a("IfcRelDefinesByProperties"):
|
if inverse.is_a("IfcRelDefinesByProperties"):
|
||||||
ifcopenshell.api.run(
|
ifcopenshell.api.run(
|
||||||
"pset.remove_pset",
|
"pset.remove_pset",
|
||||||
@@ -117,6 +119,4 @@ class Usecase:
|
|||||||
self.file.remove(inverse)
|
self.file.remove(inverse)
|
||||||
elif inverse.is_a("IfcRelConnectsPathElements"):
|
elif inverse.is_a("IfcRelConnectsPathElements"):
|
||||||
self.file.remove(inverse)
|
self.file.remove(inverse)
|
||||||
else:
|
|
||||||
ignored.add(inverse)
|
|
||||||
self.file.remove(self.settings["product"])
|
self.file.remove(self.settings["product"])
|
||||||
|
|||||||
Reference in New Issue
Block a user