2021-10-13 09:48:23 +11:00
@project
Feature : Project
Scenario : Create project
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . c r e a t e _ p r o j e c t "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
2022-09-02 15:21:21 +10:00
Scenario : Create project - IFC2X3
Given a n e m p t y B l e n d e r s e s s i o n
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . e x p o r t _ s c h e m a " t o " I F C 2 X 3 "
When I p r e s s " b i m . c r e a t e _ p r o j e c t "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
2024-06-29 22:20:02 +10:00
Scenario : New project - metric (m) preset
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . n e w _ p r o j e c t ( p r e s e t = ' m e t r i c _ m ' ) "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
Scenario : New project - metric (mm) preset
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . n e w _ p r o j e c t ( p r e s e t = ' m e t r i c _ m m ' ) "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
Scenario : New project - imperial (ft) preset
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . n e w _ p r o j e c t ( p r e s e t = ' i m p e r i a l _ f t ' ) "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
Scenario : New project - demo preset
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . n e w _ p r o j e c t ( p r e s e t = ' d e m o ' ) "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s i n t h e c o l l e c t i o n " I f c P r o j e c t / M y P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / M y S t o r e y "
And t h e o b j e c t " I f c B e a m T y p e / B 1 " i s a n " I f c B e a m T y p e "
And t h e o b j e c t " I f c W a l l T y p e / W A L 5 0 " i s a n " I f c W a l l T y p e "
Scenario : New project - wizard
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . n e w _ p r o j e c t ( p r e s e t = ' w i z a r d ' ) "
Then a n I F C f i l e d o e s n o t e x i s t
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " d o e s n o t e x i s t
2021-10-16 15:46:02 +11:00
Scenario : Append library element
Given a n e m p t y I F C p r o j e c t
When I p r e s s " b i m . s e l e c t _ l i b r a r y _ f i l e ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
And I p r e s s " b i m . c h a n g e _ l i b r a r y _ e l e m e n t ( e l e m e n t _ n a m e = ' I f c T y p e P r o d u c t ' ) "
And I p r e s s " b i m . c h a n g e _ l i b r a r y _ e l e m e n t ( e l e m e n t _ n a m e = ' I f c S l a b T y p e ' ) "
And I p r e s s " b i m . a p p e n d _ l i b r a r y _ e l e m e n t ( d e f i n i t i o n = 2 4 2 , p r o p _ i n d e x = 0 ) "
Then t h e o b j e c t " I f c S l a b T y p e / S l a b " i s a n " I f c S l a b T y p e "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c S l a b T y p e / S l a b " i s i n t h e c o l l e c t i o n " I f c T y p e P r o d u c t "
2021-10-16 15:46:02 +11:00
Scenario : Append library element - append two elements sharing a material
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . s e l e c t _ l i b r a r y _ f i l e ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
And I p r e s s " b i m . c h a n g e _ l i b r a r y _ e l e m e n t ( e l e m e n t _ n a m e = ' I f c T y p e P r o d u c t ' ) "
And I p r e s s " b i m . c h a n g e _ l i b r a r y _ e l e m e n t ( e l e m e n t _ n a m e = ' I f c S l a b T y p e ' ) "
And I p r e s s " b i m . a p p e n d _ l i b r a r y _ e l e m e n t ( d e f i n i t i o n = 2 4 2 , p r o p _ i n d e x = 0 ) "
When I p r e s s " b i m . r e w i n d _ l i b r a r y "
And I p r e s s " b i m . c h a n g e _ l i b r a r y _ e l e m e n t ( e l e m e n t _ n a m e = ' I f c W a l l T y p e ' ) "
And I p r e s s " b i m . a p p e n d _ l i b r a r y _ e l e m e n t ( d e f i n i t i o n = 2 9 1 , p r o p _ i n d e x = 0 ) "
Then t h e o b j e c t " I f c S l a b T y p e / S l a b " i s a n " I f c S l a b T y p e "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c S l a b T y p e / S l a b " i s i n t h e c o l l e c t i o n " I f c T y p e P r o d u c t "
2021-10-16 15:46:02 +11:00
And t h e o b j e c t " I f c W a l l T y p e / W a l l " i s a n " I f c W a l l T y p e "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c W a l l T y p e / W a l l " i s i n t h e c o l l e c t i o n " I f c T y p e P r o d u c t "
2021-10-16 15:46:02 +11:00
And t h e o b j e c t " I f c S l a b T y p e / S l a b " h a s t h e m a t e r i a l " S u r f a c e S t y l e "
And t h e o b j e c t " I f c W a l l T y p e / W a l l " h a s t h e m a t e r i a l " S u r f a c e S t y l e "
2021-10-13 09:48:23 +11:00
Scenario : Load project
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then a n I F C f i l e e x i s t s
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c S l a b / S l a b " i s a n " I f c S l a b "
And t h e o b j e c t " I f c W a l l / W a l l " i s a n " I f c W a l l "
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s a n " I f c E l e m e n t A s s e m b l y "
And t h e o b j e c t " I f c B e a m / B e a m " i s a n " I f c B e a m "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c B e a m / B e a m " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2021-10-13 09:48:23 +11:00
And t h e o b j e c t " I f c S l a b / S l a b " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c W a l l / W a l l " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . i s _ l o a d i n g " i s " F a l s e "
2022-01-17 20:30:02 +11:00
Scenario : Load project - IfcZip
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c z i p ' ) "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
2021-10-13 09:48:23 +11:00
Scenario : Load project - advanced mode
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
Then a n I F C f i l e e x i s t s
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . i s _ l o a d i n g " i s " T r u e "
And t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " d o e s n o t e x i s t
Scenario : Load project elements - load all project elements
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " N O N E "
2021-10-13 09:48:23 +11:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c S l a b / S l a b " i s a n " I f c S l a b "
And t h e o b j e c t " I f c W a l l / W a l l " i s a n " I f c W a l l "
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s a n " I f c E l e m e n t A s s e m b l y "
And t h e o b j e c t " I f c B e a m / B e a m " i s a n " I f c B e a m "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c B e a m / B e a m " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2021-10-13 09:48:23 +11:00
And t h e o b j e c t " I f c S l a b / S l a b " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c W a l l / W a l l " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2021-10-23 18:15:23 +11:00
And t h e o b j e c t " I f c S l a b / S l a b " h a s d a t a w h i c h i s a n I F C r e p r e s e n t a t i o n
And t h e o b j e c t " I f c B e a m / B e a m " h a s d a t a w h i c h i s a n I F C r e p r e s e n t a t i o n
And t h e o b j e c t " I f c W a l l / W a l l " h a s d a t a w h i c h i s a n I F C r e p r e s e n t a t i o n
And t h e o b j e c t " I f c S l a b T y p e / S l a b " h a s d a t a w h i c h i s a n I F C r e p r e s e n t a t i o n
And t h e o b j e c t " I f c W a l l T y p e / W a l l " h a s d a t a w h i c h i s a n I F C r e p r e s e n t a t i o n
2021-10-13 09:48:23 +11:00
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . i s _ l o a d i n g " i s " F a l s e "
Scenario : Load project elements - load objects filtered by decomposition
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " D E C O M P O S I T I O N "
2021-10-29 17:43:38 +11:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . s h o u l d _ f i l t e r _ s p a t i a l _ e l e m e n t s " t o " T r u e "
2021-10-13 09:48:23 +11:00
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c S i t e / M y S i t e ' ] . t o t a l _ e l e m e n t s " i s " 0 "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c B u i l d i n g / M y B u i l d i n g ' ] . t o t a l _ e l e m e n t s " i s " 0 "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c B u i l d i n g S t o r e y / G r o u n d F l o o r ' ] . t o t a l _ e l e m e n t s " i s " 1 "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c B u i l d i n g S t o r e y / L e v e l 1 ' ] . t o t a l _ e l e m e n t s " i s " 2 "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c B u i l d i n g S t o r e y / L e v e l 1 ' ] . i s _ s e l e c t e d " t o " T r u e "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c W a l l / W a l l " i s a n " I f c W a l l "
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s a n " I f c E l e m e n t A s s e m b l y "
And t h e o b j e c t " I f c B e a m / B e a m " i s a n " I f c B e a m "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c W a l l / W a l l " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c B e a m / B e a m " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2021-10-13 09:48:23 +11:00
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " d o e s n o t e x i s t
And t h e o b j e c t " I f c S l a b / S l a b " d o e s n o t e x i s t
Scenario : Load project elements - load objects filtered by IFC class
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " I F C _ C L A S S "
2021-10-29 17:43:38 +11:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . s h o u l d _ f i l t e r _ s p a t i a l _ e l e m e n t s " t o " T r u e "
2021-10-13 09:48:23 +11:00
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c W a l l ' ] . t o t a l _ e l e m e n t s " i s " 1 "
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c S l a b ' ] . t o t a l _ e l e m e n t s " i s " 1 "
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c E l e m e n t A s s e m b l y ' ] . t o t a l _ e l e m e n t s " i s " 1 "
And " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c B e a m ' ] . t o t a l _ e l e m e n t s " i s " 1 "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ c a t e g o r i e s [ ' I f c S l a b ' ] . i s _ s e l e c t e d " t o " T r u e "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c S l a b / S l a b " i s a n " I f c S l a b "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c S l a b / S l a b " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " d o e s n o t e x i s t
And t h e o b j e c t " I f c W a l l / W a l l " d o e s n o t e x i s t
Scenario : Load project elements - load objects filtered by whitelist
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " W H I T E L I S T "
2023-10-20 11:06:10 +05:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ q u e r y " t o " I f c S l a b "
2021-10-29 17:43:38 +11:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . s h o u l d _ f i l t e r _ s p a t i a l _ e l e m e n t s " t o " T r u e "
2021-10-13 09:48:23 +11:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c S l a b / S l a b " i s a n " I f c S l a b "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c S l a b / S l a b " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " d o e s n o t e x i s t
And t h e o b j e c t " I f c W a l l / W a l l " d o e s n o t e x i s t
Scenario : Load project elements - load objects filtered by blacklist
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " B L A C K L I S T "
2023-10-20 11:06:10 +05:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ q u e r y " t o " I f c S l a b "
2021-10-29 17:43:38 +11:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . s h o u l d _ f i l t e r _ s p a t i a l _ e l e m e n t s " t o " T r u e "
2021-10-13 09:48:23 +11:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a n " I f c S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a n " I f c B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s a n " I f c B u i l d i n g S t o r e y "
And t h e o b j e c t " I f c W a l l / W a l l " i s a n " I f c W a l l "
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s a n " I f c E l e m e n t A s s e m b l y "
And t h e o b j e c t " I f c B e a m / B e a m " i s a n " I f c B e a m "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s i n t h e c o l l e c t i o n " I f c S i t e / M y S i t e "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g / M y B u i l d i n g "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c W a l l / W a l l " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2024-06-26 17:14:33 +10:00
And t h e o b j e c t " I f c E l e m e n t A s s e m b l y / E m p t y " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
And t h e o b j e c t " I f c B e a m / B e a m " i s i n t h e c o l l e c t i o n " I f c B u i l d i n g S t o r e y / L e v e l 1 "
2021-10-13 09:48:23 +11:00
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " d o e s n o t e x i s t
And t h e o b j e c t " I f c S l a b / S l a b " d o e s n o t e x i s t
Scenario : Load project elements - load no objects due to filter
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f i l t e r _ m o d e " t o " I F C _ C L A S S "
2021-10-29 17:43:38 +11:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . s h o u l d _ f i l t e r _ s p a t i a l _ e l e m e n t s " t o " T r u e "
2021-10-13 09:48:23 +11:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
And t h e o b j e c t " I f c S i t e / M y S i t e " d o e s n o t e x i s t
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " d o e s n o t e x i s t
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / G r o u n d F l o o r " d o e s n o t e x i s t
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / L e v e l 1 " d o e s n o t e x i s t
And t h e o b j e c t " I f c S l a b / S l a b " d o e s n o t e x i s t
And t h e o b j e c t " I f c W a l l / W a l l " d o e s n o t e x i s t
Scenario : Load project elements - manual offset of object placements
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / m a n u a l - g e o l o c a t i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 2 6 8 3 8 8 5 0 0 , 5 7 7 4 5 0 6 0 0 0 , 2 1 9 0 0 "
2021-10-13 09:48:23 +11:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then t h e o b j e c t " I f c P l a t e / 1 7 8 0 x 2 7 0 P R E C A S T W A L L " i s a t " 0 , 0 , 0 "
2022-04-21 09:09:34 +10:00
Scenario : Load project elements - manual offset of cartesian points
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / m a n u a l - g e o l o c a t i o n - c o o r d s . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-06-26 17:14:33 +10:00
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 1 9 9 0 7 1 1 , 5 9 7 1 5 5 3 , 2 2 7 0 0 "
2022-04-21 09:09:34 +10:00
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
2024-06-26 17:14:33 +10:00
Then t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " h a s a v e r t e x a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " h a s a v e r t e x a t " - 1 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " h a s a v e r t e x a t " 0 , . 5 , 0 "
And t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " h a s a v e r t e x a t " - 1 , . 5 , 0 "
And t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " h a s a v e r t e x a t " - 1 , . 5 , 2 . 2 "
2022-04-21 09:09:34 +10:00
2021-10-28 11:55:11 +11:00
Scenario : Load project elements - auto offset of object placements
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / a u t o - g e o l o c a t i o n . i f c ' ) "
Then t h e o b j e c t " I f c P l a t e / 1 7 8 0 x 2 7 0 P R E C A S T W A L L " i s a t " 0 , 0 , 0 "
2022-04-21 09:09:34 +10:00
Scenario : Load project elements - auto offset of cartesian points
Given a n e m p t y B l e n d e r s e s s i o n
When I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / m a n u a l - g e o l o c a t i o n - c o o r d s . i f c ' ) "
Then t h e o b j e c t " I f c B u i l d i n g E l e m e n t P r o x y / N A M E " i s a t " 0 , 0 , 0 "
2024-06-30 17:01:39 +10:00
Scenario : Load project elements - all georeferencing coordinate situations - disabled false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " D I S A B L E D "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " F a l s e "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 6 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 6 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 9 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 1 0 , 0 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations - automatic false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 1 3 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 4 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " - 1 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 1 3 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 4 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " - 1 0 0 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " - 6 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " - 7 , - 3 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " - 7 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " - 1 0 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 2 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " - 4 , - 2 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " - 1 0 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " - 2 , - 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " - 3 , - 4 , 1 "
Scenario : Load project elements - all georeferencing coordinate situations - manual false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 1 0 0 0 0 , 0 , 0 "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " - 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " - 4 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " - 4 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " - 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " - 1 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " - 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a c a r t e s i a n p o i n t o f f s e t o f " 3 1 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a c a r t e s i a n p o i n t o f f s e t o f " - 2 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a c a r t e s i a n p o i n t o f f s e t o f " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 3 , 2 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 5 , 2 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 5 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 7 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 , 1 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 3 , 1 , - 1 "
Scenario : Load project elements - all georeferencing coordinate situations with an offset site - disabled false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " D I S A B L E D "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " F a l s e "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 5 . 9 8 5 , 1 4 . 7 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 5 . 5 3 6 7 , 1 2 . 5 1 9 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 1 . 5 2 2 , 1 7 . 2 2 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 5 . 0 1 9 1 , 1 4 . 4 5 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 2 . 1 2 1 3 , 1 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 2 . 9 3 6 , 1 9 . 6 7 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 8 . 1 7 5 7 , 1 4 . 2 6 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 2 . 1 2 1 3 , 1 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 9 . 8 4 8 7 , 1 5 . 7 4 5 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 9 . 6 5 9 3 , 1 2 . 5 8 8 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations with an offset site - automatic false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 6 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 6 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 9 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 1 0 , 0 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations with an offset site - manual false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
2024-07-07 23:59:13 +10:00
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 0 , 1 0 0 0 0 , 0 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
When I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
2024-06-30 17:01:39 +10:00
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 5 . 9 8 5 , 4 . 7 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 5 . 5 3 6 7 , 2 . 5 1 9 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 1 . 5 2 2 , 7 . 2 2 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 5 . 0 1 9 1 , 4 . 4 5 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 2 . 1 2 1 3 , 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 2 . 9 3 6 , 9 . 6 7 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 8 . 1 7 5 7 , 4 . 2 6 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 2 . 1 2 1 3 , 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 9 . 8 4 8 7 , 5 . 7 4 5 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 9 . 6 5 9 3 , 2 . 5 8 8 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a c a r t e s i a n p o i n t o f f s e t o f " 3 1 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a c a r t e s i a n p o i n t o f f s e t o f " - 2 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a c a r t e s i a n p o i n t o f f s e t o f " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 1 2 . 0 3 9 , 5 . 2 9 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 1 3 . 9 7 1 , 5 . 8 1 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 1 3 . 4 5 4 , 7 . 7 4 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 1 5 . 3 8 5 , 8 . 2 6 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 0 . 3 6 6 , 3 . 8 1 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 2 . 2 9 8 , 4 . 3 3 1 , - 1 "
2024-07-07 23:59:13 +10:00
Scenario : Load project elements - all georeferencing coordinate situations with an offset site - manual false origin mode - with custom project north
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 0 , 1 0 0 0 0 , 0 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . p r o j e c t _ n o r t h " t o " - 1 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
When I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 6 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 6 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 9 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 1 0 , 0 , 0 "
2024-06-30 17:01:39 +10:00
Scenario : Load project elements - all georeferencing coordinate situations with a map conversion - disabled false origin mode (this should be identical to the situation with no map conversion)
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " D I S A B L E D "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " F a l s e "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 6 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 6 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 9 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 1 0 , 0 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations with a map conversion - automatic false origin mode (this should affect the Blender eastings and northings, which is now different to the Blender offset XYZ, but is otherwise identical to the non-map conversion variant)
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 2 8 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 4 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " - 1 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 1 3 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 4 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " - 1 0 0 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " - 6 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " - 7 , - 3 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " - 7 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " - 1 0 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 2 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " - 4 , - 2 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " - 1 0 , - 1 , 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " - 2 , - 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " - 3 , - 4 , 1 "
Scenario : Load project elements - all georeferencing coordinate situations with a map conversion - manual false origin mode (this should affect the Blender eastings and northings, which is now different to the Blender offset XYZ, but is otherwise identical to the non-map conversion variant)
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 2 5 0 0 0 , 0 , 0 "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 2 5 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " - 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " - 4 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " - 4 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " - 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " - 1 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " - 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a c a r t e s i a n p o i n t o f f s e t o f " 3 1 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a c a r t e s i a n p o i n t o f f s e t o f " - 2 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a c a r t e s i a n p o i n t o f f s e t o f " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 3 , 2 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 5 , 2 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 5 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 7 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 , 1 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 3 , 1 , - 1 "
Scenario : Load project elements - all georeferencing coordinate situations with map conversion and an offset site - disabled false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " D I S A B L E D "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " F a l s e "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 5 . 9 8 5 , 1 4 . 7 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 5 . 5 3 6 7 , 1 2 . 5 1 9 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 1 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 1 . 5 2 2 , 1 7 . 2 2 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 5 . 0 1 9 1 , 1 4 . 4 5 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 2 . 1 2 1 3 , 1 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 2 . 9 3 6 , 1 9 . 6 7 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 8 . 1 7 5 7 , 1 4 . 2 6 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 2 . 1 2 1 3 , 1 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 9 . 8 4 8 7 , 1 5 . 7 4 5 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 9 . 6 5 9 3 , 1 2 . 5 8 8 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations with map conversion and an offset site - automatic false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 1 5 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 7 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 6 , 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 3 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 6 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 9 , 2 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 3 , 3 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 1 0 , 0 , 0 "
Scenario : Load project elements - all georeferencing coordinate situations with map conversion and an offset site - manual false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n - o f f s e t s i t e . i f c ' , i s _ a d v a n c e d = T r u e ) "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 1 5 0 0 0 , 1 0 0 0 0 , 0 "
When I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I p r e s s " b i m . l o a d _ p r o j e c t _ e l e m e n t s "
Then " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . h a s _ b l e n d e r _ o f f s e t " i s " T r u e "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ e a s t i n g s " i s " 1 5 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ n o r t h i n g s " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o r t h o g o n a l _ h e i g h t " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ x " i s " 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ y " i s " 1 0 0 0 0 . 0 "
And " s c e n e . B I M G e o r e f e r e n c e P r o p e r t i e s . b l e n d e r _ o f f s e t _ z " i s " 0 . 0 "
And t h e o b j e c t " I f c S i t e / M y S i t e " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g / M y B u i l d i n g " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / A " i s a t " 5 . 9 8 5 , 4 . 7 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / B " i s a t " 5 . 5 3 6 7 , 2 . 5 1 9 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / C " i s a t " 0 , 0 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " i s a t " 1 1 . 5 2 2 , 7 . 2 2 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / E " i s a t " 5 . 0 1 9 1 , 4 . 4 5 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / F " i s a t " 2 . 1 2 1 3 , 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / G " i s a t " 1 2 . 9 3 6 , 9 . 6 7 8 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / H " i s a t " 8 . 1 7 5 7 , 4 . 2 6 1 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / I " i s a t " 2 . 1 2 1 3 , 3 . 6 7 4 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / J " i s a t " 9 . 8 4 8 7 , 5 . 7 4 5 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / K " i s a t " 9 . 6 5 9 3 , 2 . 5 8 8 , 0 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a c a r t e s i a n p o i n t o f f s e t o f " 3 1 , 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a c a r t e s i a n p o i n t o f f s e t o f " - 2 5 , 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a c a r t e s i a n p o i n t o f f s e t o f " 1 1 , 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 1 2 . 0 3 9 , 5 . 2 9 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / D " h a s a v e r t e x a t " 1 3 . 9 7 1 , 5 . 8 1 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 1 3 . 4 5 4 , 7 . 7 4 6 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / G " h a s a v e r t e x a t " 1 5 . 3 8 5 , 8 . 2 6 4 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 0 . 3 6 6 , 3 . 8 1 3 , - 1 "
And t h e o b j e c t " I f c A c t u a t o r / J " h a s a v e r t e x a t " 1 2 . 2 9 8 , 4 . 3 3 1 , - 1 "
2021-10-13 09:48:23 +11:00
Scenario : Link IFC
Given a n e m p t y I F C p r o j e c t
2024-03-22 17:33:48 +05:00
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ l o a d e d " i s " T r u e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " e x i s t s
And t h e o b j e c t " C h u n k " e x i s t s
And t h e o b j e c t " C h u n k " i s p l a c e d i n t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c "
2021-10-13 09:48:23 +11:00
2024-07-07 15:52:56 +10:00
Scenario : Link IFC - disabled false origin mode
Given a n e m p t y I F C p r o j e c t
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " D I S A B L E D "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C h u n k " e x i s t s
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 2 , 2 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 9 , - 1 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 1 7 , 4 , - 1 "
Scenario : Link IFC - from an empty IFC project - automatic false origin mode (0,0,0 will be the false origin)
Given a n e m p t y I F C p r o j e c t
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C h u n k " e x i s t s
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 2 , 2 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 9 , - 1 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 1 7 , 4 , - 1 "
Scenario : Link IFC - from an empty Blender session - automatic false origin mode (a new false origin will be detected)
Given a n e m p t y B l e n d e r s e s s i o n
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C h u n k " e x i s t s
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " - 1 1 , - 2 , 0 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " - 4 , - 5 , 0 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 4 , 0 , 0 "
Scenario : Link IFC - manual false origin mode
Given a n e m p t y B l e n d e r s e s s i o n
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " M A N U A L "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n " t o " 1 0 0 0 0 , 0 , 0 "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C h u n k " e x i s t s
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " - 8 , 2 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " - 1 , - 1 , - 1 "
And t h e o b j e c t " C h u n k " h a s a v e r t e x a t " 7 , 4 , - 1 "
2024-07-07 23:59:13 +10:00
Scenario : Link IFC - automatic false origin mode - two different false origins and project norths - grid north is up because we start with geolocation.ifc
Given a n e m p t y B l e n d e r s e s s i o n
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " - 1 1 , - 2 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " - 4 , - 5 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " 4 , 0 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " 4 . 7 3 2 , - 3 . 2 6 8 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " 9 . 2 9 4 , - 9 . 3 6 6 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " 1 8 . 7 2 2 , - 9 . 0 3 6 , 0 "
Scenario : Link IFC - automatic false origin mode - two different false origins and project norths - project north is up because we start with geolocation-mapconversion-angle.ifc
Given a n e m p t y B l e n d e r s e s s i o n
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c ' , u s e _ c a c h e = F a l s e ) "
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " - 1 1 , - 2 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " - 4 , - 5 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - m a p c o n v e r s i o n - a n g l e . i f c : C h u n k " h a s a v e r t e x a t " 4 , 0 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " - 2 5 . 2 5 8 , - 8 . 7 6 8 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " - 1 7 . 6 9 6 , - 7 . 8 6 6 , 0 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n . i f c : C h u n k " h a s a v e r t e x a t " - 1 3 . 2 6 8 , 0 . 4 6 4 , 0 "
2024-07-12 23:58:18 +10:00
Scenario : Link IFC - automatic false origin mode - three identical false origins but different project and map units
Given a n e m p t y B l e n d e r s e s s i o n
# Not currently possible via UI
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . d i s t a n c e _ l i m i t " t o " 5 "
And I s e t " s c e n e . B I M P r o j e c t P r o p e r t i e s . f a l s e _ o r i g i n _ m o d e " t o " A U T O M A T I C "
When I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - u n i t 1 . i f c ' , u s e _ c a c h e = F a l s e ) "
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - u n i t 2 . i f c ' , u s e _ c a c h e = F a l s e ) "
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / g e o l o c a t i o n - u n i t 3 . i f c ' , u s e _ c a c h e = F a l s e ) "
Then t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 1 . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 2 . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 3 . i f c : C h u n k " e x i s t s
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 1 . i f c : C h u n k " h a s a v e r t e x a t " 7 . 2 9 4 , - 5 . 3 6 6 , - 1 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 2 . i f c : C h u n k " h a s a v e r t e x a t " 7 . 2 9 4 , - 5 . 3 6 6 , - 1 "
And t h e o b j e c t " C o l : I f c P r o j e c t / g e o l o c a t i o n - u n i t 3 . i f c : C h u n k " h a s a v e r t e x a t " 7 . 2 9 4 , - 5 . 3 6 6 , - 1 "
2022-08-02 19:34:01 +10:00
Scenario : Toggle link visibility - wireframe mode
Given a n e m p t y I F C p r o j e c t
2024-03-22 17:33:48 +05:00
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2024-03-25 11:51:33 +05:00
When I p r e s s " b i m . t o g g l e _ l i n k _ v i s i b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , m o d e = ' W I R E F R A M E ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ w i r e f r a m e " i s " T r u e "
And t h e o b j e c t " C h u n k " s h o u l d d i s p l a y a s " W I R E "
When I p r e s s " b i m . t o g g l e _ l i n k _ v i s i b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , m o d e = ' W I R E F R A M E ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ w i r e f r a m e " i s " F a l s e "
And t h e o b j e c t " C h u n k " s h o u l d d i s p l a y a s " T E X T U R E D "
2022-08-02 19:34:01 +10:00
2024-03-25 13:57:29 +05:00
Scenario : Toggle link selectability
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
When I p r e s s " b i m . t o g g l e _ l i n k _ s e l e c t a b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ s e l e c t a b l e " i s " F a l s e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " i s u n s e l e c t a b l e
When I p r e s s " b i m . t o g g l e _ l i n k _ s e l e c t a b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ s e l e c t a b l e " i s " T r u e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " i s s e l e c t a b l e
2022-08-02 19:34:01 +10:00
Scenario : Toggle link visibility - visible mode
Given a n e m p t y I F C p r o j e c t
2024-03-25 12:17:38 +05:00
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
When I p r e s s " b i m . t o g g l e _ l i n k _ v i s i b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , m o d e = ' V I S I B L E ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ h i d d e n " i s " T r u e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " e x c l u d e s t a t u s i s " T r u e "
When I p r e s s " b i m . t o g g l e _ l i n k _ v i s i b i l i t y ( l i n k = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' , m o d e = ' V I S I B L E ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ h i d d e n " i s " F a l s e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " e x c l u d e s t a t u s i s " F a l s e "
2022-08-02 19:34:01 +10:00
2021-10-13 09:48:23 +11:00
Scenario : Unload link
Given a n e m p t y B l e n d e r s e s s i o n
2024-03-25 12:22:44 +05:00
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
When I p r e s s " b i m . u n l o a d _ l i n k ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ l o a d e d " i s " F a l s e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " d o e s n o t e x i s t
2021-10-13 09:48:23 +11:00
Scenario : Load link
Given a n e m p t y B l e n d e r s e s s i o n
2024-03-25 12:22:44 +05:00
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
And I p r e s s " b i m . u n l o a d _ l i n k ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
When I p r e s s " b i m . l o a d _ l i n k ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s [ ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ] . i s _ l o a d e d " i s " T r u e "
And t h e c o l l e c t i o n " I f c P r o j e c t / b a s i c . i f c " e x i s t s i n v i e w l a y e r
2021-10-13 09:48:23 +11:00
Scenario : Unlink IFC
Given a n e m p t y B l e n d e r s e s s i o n
2024-03-22 17:33:48 +05:00
And I p r e s s " b i m . l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
And I p r e s s " b i m . u n l o a d _ l i n k ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
When I p r e s s " b i m . u n l i n k _ i f c ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
Then " s c e n e . B I M P r o j e c t P r o p e r t i e s . l i n k s . g e t ( ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) " i s " N o n e "
And " s c e n e . c o l l e c t i o n . c h i l d r e n . g e t ( ' I f c P r o j e c t / b a s i c . i f c ' ) " i s " N o n e "
And t h e o b j e c t " C h u n k " d o e s n o t e x i s t
2021-10-13 10:49:28 +11:00
Scenario : Export IFC - blank project
Given a n e m p t y I F C p r o j e c t
2023-03-01 18:14:52 +05:00
When I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-10-13 10:49:28 +11:00
Then n o t h i n g h a p p e n s
Scenario : Export IFC - with basic contents
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2023-03-01 18:14:52 +05:00
When I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
Then " s c e n e . B I M P r o p e r t i e s . i f c _ f i l e " i s " { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c "
2021-11-06 21:41:31 +11:00
Scenario : Export IFC - with basic contents and saving as another file
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2023-03-01 18:14:52 +05:00
When I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' , s h o u l d _ s a v e _ a s = T r u e ) "
Then " s c e n e . B I M P r o p e r t i e s . i f c _ f i l e " i s " { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c "
2021-10-28 19:35:22 +11:00
2022-01-14 18:55:44 +11:00
Scenario : Export IFC - with basic contents and saving as IfcJSON where import is not supported
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2023-03-01 18:14:52 +05:00
When I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c j s o n ' , s h o u l d _ s a v e _ a s = T r u e ) "
2022-01-14 18:55:44 +11:00
Then " s c e n e . B I M P r o p e r t i e s . i f c _ f i l e " i s " { c w d } / t e s t / f i l e s / b a s i c . i f c "
2022-01-17 20:30:02 +11:00
Scenario : Export IFC - with basic contents and round-tripping an IfcZip
2022-01-14 18:55:44 +11:00
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2023-03-01 18:14:52 +05:00
When I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c z i p ' , s h o u l d _ s a v e _ a s = T r u e ) "
2022-01-14 18:55:44 +11:00
Then " s c e n e . B I M P r o p e r t i e s . i f c _ f i l e " i s " { c w d } / t e s t / f i l e s / b a s i c . i f c "
2022-01-17 20:30:02 +11:00
When a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-03-01 18:14:52 +05:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c z i p ' ) "
2022-01-17 20:30:02 +11:00
Then t h e o b j e c t " I f c P r o j e c t / M y P r o j e c t " i s a n " I f c P r o j e c t "
2022-01-14 18:55:44 +11:00
2021-11-07 13:20:24 +11:00
Scenario : Export IFC - with basic contents and saving as a relative path
Given a n e m p t y B l e n d e r s e s s i o n
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / b a s i c . i f c ' ) "
2023-03-01 18:14:52 +05:00
When I p r e s s " w m . s a v e _ m a i n f i l e ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . b l e n d ' ) "
2023-06-21 10:16:03 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' , u s e _ r e l a t i v e _ p a t h = T r u e , s a v e _ a s _ i n v o k e d = T r u e ) "
2021-11-07 13:20:24 +11:00
Then " s c e n e . B I M P r o p e r t i e s . i f c _ f i l e " i s " e x p o r t . i f c "
2021-11-03 21:39:17 +11:00
Scenario : Export IFC - with deleted objects synchronised
Given a n e m p t y I F C p r o j e c t
When t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s s e l e c t e d
2023-03-03 18:22:47 +11:00
And I d e l e t e t h e s e l e c t e d o b j e c t s
2023-03-01 18:14:52 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-11-03 21:39:17 +11:00
And a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-03-01 18:14:52 +05:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-11-03 21:39:17 +11:00
Then t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " d o e s n o t e x i s t
2021-10-28 19:35:22 +11:00
Scenario : Export IFC - with moved object location synchronised
Given a n e m p t y I F C p r o j e c t
When t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s m o v e d t o " 0 , 0 , 1 "
2023-03-01 18:14:52 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-10-29 17:43:38 +11:00
And a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-03-01 18:14:52 +05:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-10-28 19:35:22 +11:00
Then t h e o b j e c t " I f c B u i l d i n g S t o r e y / M y S t o r e y " i s a t " 0 , 0 , 1 "
Scenario : Export IFC - with moved grid axis location synchronised
Given a n e m p t y I F C p r o j e c t
And I p r e s s " m e s h . a d d _ g r i d "
When t h e o b j e c t " I f c G r i d A x i s / 0 1 " i s m o v e d t o " 1 , 0 , 0 "
2023-03-01 18:14:52 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-10-29 17:43:38 +11:00
And a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-03-01 18:14:52 +05:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-10-28 19:35:22 +11:00
Then t h e o b j e c t " I f c G r i d A x i s / 0 1 " b o t t o m l e f t c o r n e r i s a t " 1 , - 2 , 0 "
2021-10-29 17:43:38 +11:00
2021-11-09 09:21:54 +11:00
Scenario : Export IFC - with changed object scale synchronised
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2023-09-24 18:44:56 +01:00
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t "
2021-11-09 09:21:54 +11:00
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l "
And I p r e s s " b i m . a s s i g n _ c l a s s "
And t h e o b j e c t " I f c W a l l / C u b e " i s s e l e c t e d
When t h e o b j e c t " I f c W a l l / C u b e " i s s c a l e d t o " 2 "
2023-03-01 18:14:52 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-11-09 09:21:54 +11:00
And a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-03-01 18:14:52 +05:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-11-09 09:21:54 +11:00
Then t h e o b j e c t " I f c W a l l / C u b e " d i m e n s i o n s a r e " 4 , 4 , 4 "
2021-11-11 14:18:44 +11:00
2021-11-11 18:21:02 +11:00
Scenario : Export IFC - with changed style element synchronised
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
And I a d d a m a t e r i a l
2023-09-24 18:44:56 +01:00
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t "
2021-11-11 18:21:02 +11:00
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l "
And I p r e s s " b i m . a s s i g n _ c l a s s "
And t h e o b j e c t " I f c W a l l / C u b e " i s s e l e c t e d
When I a d d a m a t e r i a l
And t h e m a t e r i a l " M a t e r i a l . 0 0 1 " c o l o u r i s s e t t o " 1 , 0 , 0 , 1 "
2023-03-01 18:14:52 +05:00
And I p r e s s " e x p o r t _ i f c . b i m ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' ) "
2021-11-11 18:21:02 +11:00
And a n e m p t y B l e n d e r s e s s i o n i s s t a r t e d
2023-08-25 16:51:14 +10:00
And I p r e s s " b i m . l o a d _ p r o j e c t ( f i l e p a t h = ' { c w d } / t e s t / f i l e s / t e m p / e x p o r t . i f c ' , s h o u l d _ s t a r t _ f r e s h _ s e s s i o n = F a l s e ) "
2021-11-11 18:21:02 +11:00
Then t h e m a t e r i a l " M a t e r i a l . 0 0 1 " c o l o u r i s " 1 , 0 , 0 , 1 "