2021-10-16 16:55:06 +11:00
|
|
|
@root
|
|
|
|
|
Feature: Root
|
|
|
|
|
|
2021-12-09 13:38:46 +11:00
|
|
|
Scenario: Reassign class
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
And the object "Cube" is selected
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-12-09 13:38:46 +11:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
2023-02-11 11:03:35 +11:00
|
|
|
And I press "bim.assign_class(ifc_class='IfcWall', predefined_type='SOLIDWALL')"
|
2021-12-09 13:38:46 +11:00
|
|
|
And I press "object.duplicate_move"
|
|
|
|
|
When the object "IfcWall/Cube.001" is selected
|
|
|
|
|
And I press "bim.enable_reassign_class"
|
|
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcSlab"
|
2023-02-11 11:03:35 +11:00
|
|
|
And I set "scene.BIMRootProperties.ifc_predefined_type" to "BASESLAB"
|
2021-12-09 13:38:46 +11:00
|
|
|
And I press "bim.reassign_class"
|
|
|
|
|
Then the object "IfcSlab/Cube" is an "IfcSlab"
|
|
|
|
|
|
2021-10-16 16:55:06 +11:00
|
|
|
Scenario: Unlink object
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
And the object "Cube" is selected
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-10-16 16:55:06 +11:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
|
|
|
|
And I press "bim.assign_class"
|
2024-07-29 17:51:13 +05:00
|
|
|
And I press "bim.load_styles(style_type='IfcSurfaceStyle')"
|
|
|
|
|
And I press "bim.enable_adding_presentation_style"
|
|
|
|
|
And I set "scene.BIMStylesProperties.style_name" to "Style"
|
|
|
|
|
And I press "bim.add_presentation_style"
|
|
|
|
|
And the object "IfcWall/Cube" is selected
|
|
|
|
|
And the variable "style" is "{ifc}.by_type('IfcSurfaceStyle')[0].id()"
|
|
|
|
|
And I press "bim.assign_style_to_selected(style_id={style})"
|
2021-10-16 16:55:06 +11:00
|
|
|
When I press "bim.unlink_object(obj='IfcWall/Cube')"
|
|
|
|
|
Then the object "Cube" is not an IFC element
|
2024-07-29 17:51:13 +05:00
|
|
|
And the material "Style" is an IFC style
|
|
|
|
|
And the material "Style.001" is not an IFC style
|
2021-10-19 19:14:41 +11:00
|
|
|
|
|
|
|
|
Scenario: Copy class
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
And the object "Cube" is selected
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-10-19 19:14:41 +11:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
When I press "bim.copy_class(obj='IfcWall/Cube')"
|
|
|
|
|
Then the object "IfcWall/Cube" is an "IfcWall"
|
2021-10-21 09:33:45 +02:00
|
|
|
|
|
|
|
|
Scenario: Assign a class to a cube
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
When the object "Cube" is selected
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-10-21 09:33:45 +02:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
Then the object "IfcWall/Cube" is an "IfcWall"
|
2022-03-15 16:53:31 +11:00
|
|
|
And the object "IfcWall/Cube" is in the collection "IfcBuildingStorey/My Storey"
|
2021-10-21 09:33:45 +02:00
|
|
|
And the object "IfcWall/Cube" has a "Tessellation" representation of "Model/Body/MODEL_VIEW"
|
|
|
|
|
|
|
|
|
|
Scenario: Assign a type class to a cube
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
When the object "Cube" 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"
|
|
|
|
|
Then the object "IfcWallType/Cube" is an "IfcWallType"
|
2024-07-31 17:29:51 +05:00
|
|
|
And the object "IfcWallType/Cube" is in the collection "IfcTypeProduct"
|
2021-10-21 09:33:45 +02:00
|
|
|
And the object "IfcWallType/Cube" has a "Tessellation" representation of "Model/Body/MODEL_VIEW"
|
2021-10-26 20:51:27 +11:00
|
|
|
|
2021-10-21 09:33:45 +02:00
|
|
|
Scenario: Assign a spatial class to a cube
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
When the object "Cube" is selected
|
|
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcSpatialElement"
|
|
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcBuilding"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
Then the object "IfcBuilding/Cube" is an "IfcBuilding"
|
|
|
|
|
And the object "IfcBuilding/Cube" is in the collection "IfcBuilding/Cube"
|
|
|
|
|
And the object "IfcBuilding/Cube" has a "Tessellation" representation of "Model/Body/MODEL_VIEW"
|
|
|
|
|
|
2021-10-26 20:51:27 +11:00
|
|
|
Scenario: Assign a spatial class to a cube already in a collection
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
And the object "Cube" is placed in the collection "IfcBuildingStorey/My Storey"
|
|
|
|
|
When the object "Cube" is selected
|
|
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcSpatialElement"
|
|
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcSpace"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
Then the object "IfcSpace/Cube" is an "IfcSpace"
|
|
|
|
|
And the object "IfcSpace/Cube" is in the collection "IfcSpace/Cube"
|
|
|
|
|
And the object "IfcSpace/Cube" has a "Tessellation" representation of "Model/Body/MODEL_VIEW"
|
|
|
|
|
|
2021-10-21 09:33:45 +02:00
|
|
|
Scenario: Assign a class to a cube in a collection
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
When the object "Cube" is selected
|
|
|
|
|
And the object "Cube" is placed in the collection "IfcBuildingStorey/My Storey"
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-10-21 09:33:45 +02:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
Then the object "IfcWall/Cube" is contained in "My Storey"
|
|
|
|
|
|
|
|
|
|
Scenario: Copy a wall
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And I add a cube
|
|
|
|
|
When the object "Cube" is selected
|
2023-09-24 18:44:56 +01:00
|
|
|
And I set "scene.BIMRootProperties.ifc_product" to "IfcElement"
|
2021-10-21 09:33:45 +02:00
|
|
|
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
|
|
|
|
And I press "bim.assign_class"
|
|
|
|
|
And I duplicate the selected objects
|
|
|
|
|
Then the object "IfcWall/Cube" and "IfcWall/Cube.001" are different elements
|
|
|
|
|
|
|
|
|
|
Scenario: Copy a storey
|
|
|
|
|
Given an empty IFC project
|
|
|
|
|
And the object "IfcBuildingStorey/My Storey" is selected
|
|
|
|
|
When I duplicate the selected objects
|
|
|
|
|
Then the object "IfcBuildingStorey/My Storey" and "IfcBuildingStorey/My Storey.001" are different elements
|
|
|
|
|
And the object "IfcBuildingStorey/My Storey" is in the collection "IfcBuildingStorey/My Storey"
|
|
|
|
|
And the object "IfcBuildingStorey/My Storey.001" is in the collection "IfcBuildingStorey/My Storey.001"
|