diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py index bd1191f4c6..4dae72c37e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py @@ -37,12 +37,10 @@ class Usecase: placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None placement = self.file.createIfcLocalPlacement(placement_rel_to, self.get_relative_placement(placement_rel_to)) - if self.settings["product"].ObjectPlacement: - old_placement = self.settings["product"].ObjectPlacement + old_placement = self.settings["product"].ObjectPlacement + if old_placement and len(self.file.get_inverse(old_placement)) == 1: old_placement.PlacementRelTo = None self.settings["product"].ObjectPlacement = None - for inverse in self.file.get_inverse(old_placement): - ifcopenshell.util.element.replace_attribute(inverse, old_placement, placement) ifcopenshell.util.element.remove_deep(self.file, old_placement) self.settings["product"].ObjectPlacement = placement