ifcopenshell.api.aggregate.unassign_object
#
Module Contents#
- class ifcopenshell.api.aggregate.unassign_object.Usecase(file, product=None)#
Unassigns a product from its aggregate
A product (i.e. a smaller part of a whole) may be aggregated into zero or one larger space or element. This function will remove that aggregation relationship.
As all physical IFC model elements must be part of a hierarchical tree called the “spatial decomposition”, using this function will remove the product from that tree. This is a dangerous operation and may result in the product no longer being visible in IFC applications.
If the product is not part of an aggregation relationship, nothing will happen.
- Parameters
product (ifcopenshell.entity_instance.entity_instance) – The part of the aggregate, typically an IfcElement or IfcSpatialStructureElement subclass
- Returns
The IfcRelAggregate relationship instance, only returned if the whole still contains any other parts.
- Return type
Example:
element = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcSite") subelement1 = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcBuilding") subelement2 = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcBuilding") ifcopenshell.api.run("aggregate.assign_object", model, product=subelement1, relating_object=element) ifcopenshell.api.run("aggregate.assign_object", model, product=subelement2, relating_object=element) # The relationship is returned as element still has subelement2 rel = ifcopenshell.api.run("aggregate.unassign_object", model, product=subelement1) # Nothing is returned, as element is now empty ifcopenshell.api.run("aggregate.unassign_object", model, product=subelement2)
- execute(self)#