Graphisoft GDL - 如何在 GDL 对象中获取布局名称和编号

Graphisoft GDL - How to get layout name and number inside GDL object

我想在我放置在布局上的 gdl 对象中显示布局名称和编号。

如何将布局名称和编号添加到我的 GDL 脚本中?

您可以通过多种方式在 GDL 脚本中获取布局名称。

一个常用的解决方案是使用自动文本标签 <LAYOUTNAME><LAYOUTID> 作为字符串。在 gdl 对象编译后,此标签将被布局名称或布局 ID 替换。

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

TEXT2 xPos, yPos, '<LAYOUTID>'

可以找到所有自动文本标签 here in the documentation

注意:注意<LAYOUTID><LAYOUTNUMBER>是两个不同的东西!

此解决方案的问题是您不能使用例如函数中的值与值进行比较。所以这永远不会评估为真:

'<LAYOUTNAME>' = 'my layout name'

如果您想做类似的事情,可以使用 the GDL REQUEST options function

的替代方法
n = request ("HomeDB_info",  "", n, LayoutId, LayoutName, n)

这些值将存储在变量 LayoutIdLayoutName

这也有记载here and mentioned 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