Home › Forums › Problems and solutions in GDL › Informations from the environment › What is the proper replacement for GLOB_CONTEXT=1? › Reply To: What is the proper replacement for GLOB_CONTEXT=1?
This has just cropped up again in ArchicadTalk … https://archicad-talk.graphisoft.com/viewtopic.php?t=53078
I was having a bit of a play again and noticed if ‘GLOB_VIEW_TYPE = 2’ is used (in master or parameter script) then whatever script is run after that command will run while in the library part editor.
For example …
IF GLOB_VIEW_TYPE = 2 THEN !do only in 2D
IF firstRun = 0 THEN !parameter that allow to run code only once
parameters firstRun = 1 !prevents running code again
ENDIF
ENDIF
So if there is a boolean parameter in the parameter list called ‘firstRun’ then it is automatically set to ‘1’ and you can’t manually change it.
If you alter the script to … IF GLOB_VIEW_TYPE = 3
or any other value then it is not run and you can manually change the parameter.
Is this a bug that GLOB_VIEW_TYPE = 2 is ignored while in the library part editor? – seeing as technically it is not a 2D view and this part of the script should be ignored.
Just as it is ignored if GLOB_VIEW_TYPE = 3 (or any other value) is used.
Just finding it hard to see any logic here.
To test this I used this code in the master script.
IF GLOB_VIEW_TYPE = 2 THEN !do only in 2D
IF firstRun = 0 THEN !parameter that allow to run code only once
parameters firstRun = 1 !prevents running code again
ENDIF
!SET STYLE "switch"
!!! ---------- show Selector hotspot----------
HSID=HSID+1
hotspot2 0, 0 , HSID, firstRun, 1 ! base
HSID=HSID+1
hotspot2 0,0-1 , HSID, firstRun, 3 ! ref
HSID=HSID+1
hotspot2 0, firstRun, HSID, firstRun, 2 ! moving
HSID=HSID+1
TEXT2 0,0,firstRun
ENDIF
IF GLOB_VIEW_TYPE = 3 THEN !do only in 2D
IF firstRun = 0 THEN !parameter that allow to run code only once
parameters firstRun = 1 !prevents running code again
ENDIF
!SET STYLE "switch"
!!! ---------- show Selector hotspot----------
HSID=HSID+1
hotspot 0, 0,0 , HSID, firstRun, 1 ! base
HSID=HSID+1
hotspot 0,0-1,0 , HSID, firstRun, 3 ! ref
HSID=HSID+1
hotspot 0, firstRun,0, HSID, firstRun, 2 ! moving
HSID=HSID+1
DEFINE STYLE "text" "Arial", 150, 5, 0
SET STYLE "text"
TEXT 0.001,0,firstRun
ENDIF
The hotspots in 2D and 3D views allow me to adjust the value.
So that is working fine.
However in the object settings dialogue the parameter can not be altered and it the script editor it can not be altered either unless I comment out the section for ‘GLOB_VIEW_TYPE = 2’
I hope I have explained this problem OK.
Barry.
Versions 6.5 to 22
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit