Preserve visibility status for non-ifc objects when drawing is activated

Mentioned in #3402
This commit is contained in:
Andrej730
2024-08-28 16:13:17 +05:00
parent 174ff00a6d
commit c113061742
3 changed files with 54 additions and 5 deletions
@@ -51,6 +51,29 @@ Scenario: Create drawing after deleting a duplicated object
When I press "bim.create_drawing"
Then nothing happens
Scenario: Activate drawing preserves visibility for non-ifc objects
Given an empty IFC project
And I add a cube
And I add a cube
And the object "Cube" is visible
And the object "Cube.001" is not visible
And I press "bim.add_drawing"
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
And I set "scene.DocProperties.active_drawing_index" to "0"
When I press "bim.activate_drawing(drawing={drawing})"
Then the object "Cube" is visible
And the object "Cube.001" is not visible
Scenario: Activate drawing preserves selection
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I press "bim.add_drawing"
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
And I set "scene.DocProperties.active_drawing_index" to "0"
When I press "bim.activate_drawing(drawing={drawing})"
Then the object "Cube" is selected
Scenario: Remove drawing
Given an empty IFC project
And I add a cube
+24
View File
@@ -840,6 +840,30 @@ def the_object_name_is_not_a_void(name):
assert False, "A void was found"
@given(parsers.parse('the object "{name}" is visible'))
def given_the_object_name_is_visible(name):
obj = the_object_name_exists(name)
obj.hide_set(False)
@given(parsers.parse('the object "{name}" is not visible'))
def given_the_object_name_is_not_visible(name):
obj = the_object_name_exists(name)
obj.hide_set(True)
@then(parsers.parse('the object "{name}" is visible'))
def the_object_name_is_visible(name):
obj = the_object_name_exists(name)
assert obj.hide_get() == False
@then(parsers.parse('the object "{name}" is not visible'))
def the_object_name_is_not_visible(name):
obj = the_object_name_exists(name)
assert obj.hide_get() == True
@then(parsers.parse('the object "{name}" is an "{ifc_class}"'))
def the_object_name_is_an_ifc_class(name, ifc_class):
ifc = an_ifc_file_exists()