mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-28 15:53:00 +00:00
502 lines
22 KiB
Gherkin
502 lines
22 KiB
Gherkin
@material
|
|
Feature: Material
|
|
|
|
Scenario: Load materials
|
|
Given an empty IFC project
|
|
And I press "bim.add_material()"
|
|
When I press "bim.load_materials"
|
|
Then nothing happens
|
|
|
|
Scenario: Disable editing materials
|
|
Given an empty IFC project
|
|
And I press "bim.add_material()"
|
|
And I press "bim.load_materials"
|
|
When I press "bim.disable_editing_materials"
|
|
Then nothing happens
|
|
|
|
Scenario: Load materials - then add material
|
|
Given an empty IFC project
|
|
And I press "bim.load_materials"
|
|
When I press "bim.add_material()"
|
|
Then the IFC material "Default" exists
|
|
|
|
Scenario: Load materials - then add material set
|
|
Given an empty IFC project
|
|
And I set "scene.BIMMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.load_materials"
|
|
When I press "bim.add_material_set(set_type='IfcMaterialLayerSet')"
|
|
Then nothing happens
|
|
|
|
Scenario: Add default material
|
|
Given an empty IFC project
|
|
When I press "bim.add_material()"
|
|
Then the IFC material "Default" exists
|
|
|
|
Scenario: Remove material set
|
|
Given an empty IFC project
|
|
And I set "scene.BIMMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.load_materials"
|
|
And I press "bim.add_material_set(set_type='IfcMaterialLayerSet')"
|
|
And the variable "material" is "{ifc}.by_type('IfcMaterialLayerSet')[0].id()"
|
|
When I press "bim.remove_material_set(material={material})"
|
|
Then nothing happens
|
|
|
|
Scenario: Assign material - single material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
When I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterial"
|
|
And I press "bim.assign_material"
|
|
Then the object "IfcWall/Cube" has the IFC material "Default"
|
|
|
|
Scenario: Unassign material - single material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterial"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.unassign_material"
|
|
Then the object "IfcWall/Cube" does not have the material "Default"
|
|
|
|
Scenario: Enable editing assigned material - single material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterial"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.enable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Disable editing assigned material - single material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterial"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
When I press "bim.disable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Edit assigned material - single material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterial"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterial')[0].id()"
|
|
When I press "bim.edit_assigned_material(material_set={material_set})"
|
|
Then nothing happens
|
|
|
|
Scenario: Assign material - material layer set
|
|
Given an empty IFC project
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
When I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
Then the object "IfcWallType/Empty" does not have the material "Default"
|
|
And the object "IfcWallType/Empty" has a "100" thick layered material containing the material "Default"
|
|
|
|
Scenario: Unassign material - material layer set
|
|
Given an empty IFC project
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.unassign_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Unassign material - removing inherited material
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
|
|
And the object "IfcWall/Cube" is selected
|
|
When the variable "type" is "{ifc}.by_type('IfcWallType')[0].id()"
|
|
And I press "bim.assign_type(relating_type={type}, related_object='IfcWall/Cube')"
|
|
|
|
Then the object "IfcWall/Cube" has a "100" thick layered material containing the material "Default"
|
|
|
|
When I press "bim.unassign_material"
|
|
Then the object "IfcWall/Cube" has no IFC materials
|
|
|
|
Scenario: Enable editing assigned material - material layer set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.enable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Disable editing assigned material - material layer set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
When I press "bim.disable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Edit assigned material - material layer set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterialLayerSet')[0].id()"
|
|
When I press "bim.edit_assigned_material(material_set={material_set})"
|
|
Then nothing happens
|
|
|
|
Scenario: Assign material - material profile set
|
|
Given an empty IFC project
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
When I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialProfileSet"
|
|
And I press "bim.assign_material"
|
|
Then the object "IfcWallType/Empty" does not have the material "Default"
|
|
And the object "IfcWallType/Empty" has a profiled material containing the material "Default" and profile "New Profile"
|
|
|
|
Scenario: Unassign material - material profile set
|
|
Given an empty IFC project
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialProfileSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.unassign_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Enable editing assigned material - material profile set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialProfileSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.enable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Disable editing assigned material - material profile set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialProfileSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
When I press "bim.disable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Edit assigned material - material profile set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialProfileSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterialProfileSet')[0].id()"
|
|
When I press "bim.edit_assigned_material(material_set={material_set})"
|
|
Then nothing happens
|
|
|
|
Scenario: Assign material - material constituent set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
When I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialConstituentSet"
|
|
And I press "bim.assign_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Unassign material - material constituent set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialConstituentSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.unassign_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Enable editing assigned material - material constituent set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialConstituentSet"
|
|
And I press "bim.assign_material"
|
|
When I press "bim.enable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Disable editing assigned material - material constituent set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialConstituentSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
When I press "bim.disable_editing_assigned_material"
|
|
Then nothing happens
|
|
|
|
Scenario: Edit assigned material - material constituent set
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialConstituentSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterialConstituentSet')[0].id()"
|
|
When I press "bim.edit_assigned_material(material_set={material_set})"
|
|
Then nothing happens
|
|
|
|
Scenario: Select by material
|
|
Given an empty IFC project
|
|
And I press "bim.load_materials"
|
|
And I press "bim.add_material()"
|
|
And the variable "material" is "{ifc}.by_type('IfcMaterial')[0].id()"
|
|
When I press "bim.select_by_material(material={material})"
|
|
Then nothing happens
|
|
|
|
Scenario: Expand material category
|
|
Given an empty IFC project
|
|
And I press "bim.load_materials"
|
|
And I press "bim.add_material()"
|
|
When I press "bim.expand_material_category(category='')"
|
|
Then nothing happens
|
|
|
|
Scenario: Contract material category
|
|
Given an empty IFC project
|
|
And I press "bim.load_materials"
|
|
And I press "bim.add_material()"
|
|
And I press "bim.expand_material_category(category='')"
|
|
When I press "bim.contract_material_category(category='')"
|
|
Then nothing happens
|
|
|
|
Scenario: Enable editing material set item
|
|
Given an empty IFC project
|
|
And I load the demo construction library
|
|
When I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType"
|
|
And I add the construction type
|
|
And the variable "column" is "{ifc}.by_type('IfcColumn')[0].id()"
|
|
And the object "IfcColumn/Column" is selected
|
|
And the variable "column_type" is "{ifc}.by_id({column}).IsTypedBy[0].RelatingType.id()"
|
|
And the variable "relating_material" is "{ifc}.by_id({column_type}).HasAssociations[0].RelatingMaterial.id()"
|
|
And the variable "material_profile" is "{ifc}.by_id({column_type}).HasAssociations[0].RelatingMaterial.MaterialProfiles[0].id()"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
When I press "bim.enable_editing_material_set_item(material_set_item={material_profile})"
|
|
Then nothing happens
|
|
|
|
Scenario: Edit layer item defaults null IsVentilated to FALSE in UI
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I press "bim.add_material()"
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "layer" is "{ifc}.by_type('IfcMaterialLayer')[0].id()"
|
|
And I press "bim.enable_editing_material_set_item(material_set_item={layer})"
|
|
When I evaluate expression "attrs = bpy.context.active_object.BIMObjectMaterialProperties.material_set_item_attributes; is_vent = next(a for a in attrs if a.name == 'IsVentilated'); assert is_vent.enum_value == 'FALSE'; assert is_vent.is_null is True"
|
|
And I press "bim.edit_material_set_item(material_set_item={layer})"
|
|
Then I evaluate expression "assert {ifc}.by_id({layer}).IsVentilated is None"
|
|
|
|
Scenario: Add material set layer
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterialLayerSet')[0].id()"
|
|
When I press "bim.add_layer(layer_set={material_set})"
|
|
Then nothing happens
|
|
|
|
Scenario: Remove material set layer
|
|
Given an empty IFC project
|
|
And I add a cube
|
|
And the object "Cube" is selected
|
|
And I look at the "Class" panel
|
|
And I set the "Products" property to "IfcElement"
|
|
And I set the "Class" property to "IfcWall"
|
|
And I click "Assign IFC Class"
|
|
|
|
And I add an empty
|
|
And the object "Empty" is selected
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElementType"
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWallType"
|
|
And I press "bim.assign_class"
|
|
|
|
And I press "bim.add_material()"
|
|
And the object "IfcWallType/Empty" is selected
|
|
And I set "active_object.BIMObjectMaterialProperties.material_type" to "IfcMaterialLayerSet"
|
|
And I press "bim.assign_material"
|
|
|
|
And I press "bim.enable_editing_assigned_material"
|
|
And the variable "material_set" is "{ifc}.by_type('IfcMaterialLayerSet')[0].id()"
|
|
|
|
And I press "bim.add_layer(layer_set={material_set})"
|
|
And I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())"
|
|
Then I press "bim.remove_layer(layer={ifc}.by_id({material_set}).MaterialLayers[0].id())" and expect error "Error: At least one layer must exist"
|