ifcopenshell.api.layer.unassign_layer

Module Contents

ifcopenshell.api.layer.unassign_layer.unassign_layer(file: ifcopenshell.file, items: list[ifcopenshell.entity_instance], layer: ifcopenshell.entity_instance) None

Unassigns representation items from a layer

If the representation item isn’t assigned to the layer, nothing will happen. If after unassignment layer won’t have any assigned items it will be removed to keep IFC valid.

Parameters:
  • items (list[ifcopenshell.entity_instance]) – A list IfcRepresentationItem elements to unassign

  • layer (ifcopenshell.entity_instance) – The IfcPresentationLayerAssignment to unassign from

Returns:

None

Return type:

None

Example:

# Remember, all geometry needs to specify the context it is part of first.
# See ifcopenshell.api.context.add_context for details.
model = ifcopenshell.api.context.add_context(model, context_type="Model")
body = ifcopenshell.api.context.add_context(model,
    context_type="Model", context_identifier="Body", target_view="MODEL_VIEW", parent=model
)

wall = ifcopenshell.api.root.create_entity(model, ifc_class="IfcWall")
representation = ifcopenshell.api.geometry.add_wall_representation(model,
    context=body, length=5, height=3, thickness=0.2)
ifcopenshell.api.geometry.assign_representation(model,
    product=wall, representation=representation)
ifcopenshell.api.geometry.edit_object_placement(model, product=wall)

# Now let's create a layer that contains walls
layer = ifcopenshell.api.layer.add_layer(model, name="AI-WALL")

# And assign our wall representation item (in this example, there is
# only one item) to the layer.
ifcopenshell.api.layer.assign_layer(model, items=[representation.Items[0]], layer=layer)

# Let's undo it!
ifcopenshell.api.layer.unassign_layer(model, items=[representation.Items[0]], layer=layer)