Я хочу показать имя и номер макета внутри объекта gdl, который я разместил на своем макете.
Как я могу получить имя и номер макета в своем GDL-скрипте?
Я хочу показать имя и номер макета внутри объекта gdl, который я разместил на своем макете.
Как я могу получить имя и номер макета в своем GDL-скрипте?
Вы можете получить имя макета несколькими способами внутри вашего GDL-скрипта.
Обычно используемое решение — использовать теги автотекста <LAYOUTNAME>
или <LAYOUTID>
в виде строки. Этот тег будет заменен именем макета или идентификатором макета ПОСЛЕ компиляции объекта gdl.
xPos = 0;
yPos = 0;
TEXT2 xPos, yPos, '<LAYOUTNAME>'
or
TEXT2 xPos, yPos, '<LAYOUTID>'
Все теги автотекста можно найти здесь в документации.
Примечание. Имейте в виду, что <LAYOUTID>
и <LAYOUTNUMBER>
— это разные вещи!
Проблема с этим решением заключается в том, что вы не можете использовать значение, например, в функции, для сравнения со значением. Таким образом, это никогда не будет оценено как истинное:
'<LAYOUTNAME>' = 'my layout name'
Если вы хотите сделать что-то подобное, есть альтернативный способ, используя функция параметров GDL REQUEST
n = request ("HomeDB_info", "", n, LayoutId, LayoutName, n)
Значения будут храниться в переменных LayoutId
и LayoutName
Это также задокументировано здесь и упомянул здесь, на форуме ArchiCAD-TALK
Это значение можно оценить и использовать непосредственно в коде:
IF LayoutName = 'my layout name' THEN
! layout name is 'my layout name'
ELSE
! layout name is something else
ENDIF