Graphisoft GDL - Как получить имя и номер макета внутри объекта GDL
Я хочу показать имя и номер макета внутри объекта gdl, который я поместил в свой макет.
Как я могу получить имя макета и номер в моем скрипте GDL?
1 ответ
Вы можете получить имя макета несколькими способами в вашем GDL-скрипте.
Обычно используемое решение состоит в том, чтобы использовать теги автотекста <LAYOUTNAME>
или же <LAYOUTID>
как строка Этот тег будет заменен именем макета или идентификатором макета ПОСЛЕ компиляции объекта gdl.
xPos = 0;
yPos = 0;
TEXT2 xPos, yPos, '<LAYOUTNAME>'
или же
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