mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
Preserve visibility status for non-ifc objects when drawing is activated
Mentioned in #3402
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user