2016-05-18 56 views

回答

0

您可以在GDL腳本中以多種方式獲取佈局名稱。

一個常用的解決方案是使用自動圖文集標記<LAYOUTNAME><LAYOUTID>作爲字符串。這個標籤將被gdl對象編譯後的佈局名稱或佈局ID替換。

xPos = 0; 
yPos = 0; 
TEXT2 xPos, yPos, '<LAYOUTNAME>' 

TEXT2 xPos, yPos, '<LAYOUTID>' 

所有的自動圖文集標籤可以發現here in the documentation

注意:請注意,<LAYOUTID><LAYOUTNUMBER>是兩個不同的東西!

此解決方案的問題是,您不能使用例如函數中的值與值進行比較。因此,這將永遠不會計算爲true:

'<LAYOUTNAME>' = 'my layout name' 

如果你想要做這樣的事情,有使用the GDL REQUEST options function

n = request ("HomeDB_info", "", n, LayoutId, LayoutName, n) 

的值將被存儲在變量中的另一種方式LayoutIdLayoutName

這也證明here並提到here on the ArchiCAD-TALK forum

可以評估該值並直接在您的代碼中使用該值:

IF LayoutName = 'my layout name' THEN 
    ! layout name is 'my layout name' 
ELSE 
    ! layout name is something else 
ENDIF