ifcopenshell.api.nest.unassign_object#

Module Contents#

class ifcopenshell.api.nest.unassign_object.Usecase(file, related_object=None)#

Unassigns a related_object from its nest.

An object (the whole within a decomposition) is Nested by zero or one more smaller objects. This function will remove this nesting relationship.

If the object is not part of a nesting relationship, nothing will happen.

Parameters

related_object (ifcopenshell.entity_instance.entity_instance) – The child of the nesting relationship, typically an IfcElement.

Returns

None if the nest has only one child, otherwise the IfcRelNests relationship instance

Example:

task = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcSite")
subtask1 = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcBuilding")
subtask2 = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcBuilding")
ifcopenshell.api.run("nest.assign_object", model, related_object=subtask1, relating_object=task)
ifcopenshell.api.run("nest.assign_object", model, related_object=subtask2, relating_object=task)
# The relationship is returned as task still has subtask2
rel = ifcopenshell.api.run("nest.unassign_object", model, related_object=subtask1)
# Nothing is returned, as the relationship has no related objects
ifcopenshell.api.run("nest.unassign_object", model, related_object=subtask2)
execute(self)#