Files
IfcOpenShell/src/blenderbim/test/bim/feature/brick.feature
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

211 lines
9.4 KiB
Gherkin
Raw Normal View History

2021-11-04 18:02:50 +11:00
@brick
Feature: Brick
2023-08-20 13:01:58 -07:00
Scenario: Create Brick project
Given an empty Blender session
When I press "bim.new_brick_file"
Then nothing happens
2021-11-04 18:02:50 +11:00
Scenario: Load Brick project
Given an empty Blender session
2021-11-05 09:19:42 +11:00
When I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2021-11-04 18:02:50 +11:00
Then nothing happens
Scenario: View Brick class
Given an empty Blender session
2021-11-05 09:19:42 +11:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2023-08-20 13:01:58 -07:00
When I press "bim.view_brick_class(brick_class='Building')"
2021-11-04 18:02:50 +11:00
Then nothing happens
Scenario: View Brick item
Given an empty Blender session
2021-11-05 09:19:42 +11:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2023-08-20 13:01:58 -07:00
When I press "bim.view_brick_item(item='https://brickschema.org/schema/Brick#Building')"
2021-11-04 18:02:50 +11:00
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Rewind Brick class
2021-11-04 18:02:50 +11:00
Given an empty Blender session
2021-11-05 09:19:42 +11:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2023-08-20 13:01:58 -07:00
And I press "bim.view_brick_class(brick_class='Building')"
When I press "bim.rewind_brick_class"
2021-11-04 18:02:50 +11:00
Then nothing happens
Scenario: Close Brick project
Given an empty Blender session
2021-11-05 09:19:42 +11:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2021-11-04 18:02:50 +11:00
When I press "bim.close_brick_project"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Close Brick project then create Brick project
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
2023-08-20 13:01:58 -07:00
And I press "bim.close_brick_project"
When I press "bim.new_brick_file"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Add Brick - vanilla Brick with no IFC
Given an empty Blender session
And I press "bim.new_brick_file"
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
2023-08-20 13:01:58 -07:00
And I set "scene.BIMBrickProperties.new_brick_label" to "abc123"
When I press "bim.add_brick"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Add Brick - from geometry without a Brick IFC library
Given an empty IFC project
2023-08-20 13:01:58 -07:00
And I press "bim.new_brick_file"
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
And I press "bim.assign_class"
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And the object "IfcChiller/Cube" is selected
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
When I press "bim.add_brick"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Add Brick - from geometry with a Brick IFC library
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
And I press "bim.assign_class"
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I press "bim.convert_brick_project"
And the object "IfcChiller/Cube" is selected
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
When I press "bim.add_brick"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Refresh Brick viewer
Given an empty Blender session
And I press "bim.new_brick_file"
When I press "bim.refresh_brick_viewer"
Then nothing happens
Scenario: Add Brick relation - vanilla Brick with no IFC
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
2023-08-20 13:01:58 -07:00
And I set "scene.BIMBrickProperties.brick_entity_create_type" to "Location"
And I set "scene.BIMBrickProperties.new_brick_label" to "abc123"
And I set "scene.BIMBrickProperties.brick_entity_class" to "Room"
And I press "bim.add_brick"
2023-08-20 13:01:58 -07:00
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
And I set "scene.BIMRootProperties.brick_create_relations_toggled" to "True"
And I set "scene.BIMRootProperties.new_brick_relation_namespace" to "https://example.org/digitaltwin#"
And I set "scene.BIMRootProperties.new_brick_relation_type" to "hasPart"
And I set "scene.BIMRootProperties.new_brick_relation_object" to "xyz789"
When I press "bim.add_brick_relation()"
Then nothing happens
Scenario: Add Brick relation - vanilla Brick with no IFC and with split screen
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
And I set "scene.BIMBrickProperties.brick_entity_create_type" to "Location"
And I set "scene.BIMBrickProperties.new_brick_label" to "abc123"
And I set "scene.BIMBrickProperties.brick_entity_class" to "Room"
And I press "bim.add_brick"
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
And I set "scene.BIMRootProperties.split_screen_toggled" to "True"
And I press "bim.view_brick_class(brick_class='Room')"
And I set "scene.BIMBrickProperties.split_screen_active_brick_index" to "0"
And I set "scene.BIMRootProperties.brick_create_relations_toggled" to "True"
And I set "scene.BIMRootProperties.new_brick_relation_type" to "hasPart"
When I press "bim.add_brick_relation"
Then nothing happens
Scenario: Remove Brick - vanilla Brick
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I press "bim.view_brick_class(brick_class='Lighting_Zone')"
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
When I press "bim.remove_brick"
Then nothing happens
Scenario: Remove Brick - with a Brick IFC library reference
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
2023-08-20 13:01:58 -07:00
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
And I press "bim.assign_class"
2023-08-20 13:01:58 -07:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And the object "IfcChiller/Cube" is selected
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
And I press "bim.add_brick"
2023-08-20 13:01:58 -07:00
And I press "bim.view_brick_class(brick_class='Chiller')"
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
When I press "bim.remove_brick"
Then nothing happens
Scenario: Change viewer list root
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I set "scene.BIMBrickProperties.set_list_root_toggled" to "True"
When I set "scene.BIMBrickProperties.brick_list_root" to "Location"
Then nothing happens
Scenario: Change viewer list root - split screen
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I set "scene.BIMBrickProperties.set_list_root_toggled" to "True"
And I set "scene.BIMRootProperties.split_screen_toggled" to "True"
When I set "scene.BIMBrickProperties.split_screen_brick_list_root" to "Location"
Then nothing happens
Scenario: Toggle split screen
Given an empty Blender session
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
When I set "scene.BIMRootProperties.split_screen_toggled" to "True"
Then nothing happens
Scenario: Set active namespace
Given an empty Blender session
When I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
Then nothing happens
Scenario: Bind new namespace
Given an empty Blender session
And I set "scene.BIMBrickProperties.new_brick_namespace_alias" to "digitaltwin2"
And I set "scene.BIMBrickProperties.new_brick_namespace_uri" to "https://example.org/digitaltwin2#"
When I press "bim.add_brick_namespace"
Then nothing happens
Scenario: Convert brick project
Given an empty IFC project
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
When I press "bim.convert_brick_project"
Then nothing happens
Scenario: Convert IFC to brick
Given an empty IFC project
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I press "bim.convert_brick_project"
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcUnitaryEquipment"
And I set "scene.BIMRootProperties.ifc_predefined_type" to "AIRHANDLER"
And I press "bim.assign_class"
When I press "bim.convert_ifc_to_brick"
Then nothing happens
2023-08-20 13:01:58 -07:00
Scenario: Assign brick reference
Given an empty IFC project
2023-08-20 13:01:58 -07:00
And I press "bim.load_brick_project(filepath='{cwd}/test/files/spaces.ttl')"
And I set "scene.BIMBrickProperties.namespace" to "https://example.org/digitaltwin#"
And I set "scene.BIMBrickProperties.brick_entity_class" to "https://brickschema.org/schema/Brick#Chiller"
And I press "bim.add_brick"
And I press "bim.view_brick_class(brick_class='Chiller')"
And I set "scene.BIMBrickProperties.active_brick_index" to "0"
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcChiller"
And I press "bim.assign_class"
And the object "IfcChiller/Cube" is selected
2023-08-20 13:01:58 -07:00
And I press "bim.convert_brick_project"
When I press "bim.assign_brick_reference"
Then nothing happens