ifcopenshell.api.material.unassign_material
¶
Module Contents¶
- class ifcopenshell.api.material.unassign_material.Usecase¶
- execute(products: list[ifcopenshell.entity_instance]) None ¶
- remove_material_usages_from_types() None ¶
- unassign_materials() None ¶
- file: ifcopenshell.file¶
- ifcopenshell.api.material.unassign_material.unassign_material(file: ifcopenshell.file, products: list[ifcopenshell.entity_instance]) None ¶
Removes any material relationship with the list of products
A product can only have one material assigned to it, which is why it is not necessary to specify the material to unassign. The material is not removed, only the relationship is removed.
If the product does not have a material, nothing happens.
Unassigning a LayerSet or ProfileSet from the product type will also remove all Usages of the set.
- Parameters:
products – The list IfcProducts that may or may not have a material
- Returns:
None
Example:
concrete = ifcopenshell.api.material.add_material(model, name="CON01", category="concrete") # Let's imagine a concrete bench made out of concrete. bench_type = ifcopenshell.api.root.create_entity(model, ifc_class="IfcFurnitureType") ifcopenshell.api.material.assign_material(model, products=[bench_type], type="IfcMaterial", material=concrete) # Let's change our mind and remove the concrete assignment. The # concrete material still exists, but the bench is no longer made # out of concrete now. ifcopenshell.api.material.unassign_material(model, products=[bench_type])