CityEngine规则中变量的定义和显示

来源:互联网 发布:淘宝不能发布护肤品 编辑:程序博客网 时间:2024/05/20 23:36
 

规则文件可以自定义变量值,而且还可以定义变量的分组、排序、值域等显示方式。以下就列举几个常用的关键字:

1.   1.@Group("level_1-group", ..., "level_n-group")

控制变量的分组,可以将变量在属性窗口中分组显示,并且可以多层分组。

@Group("Main","Node_1")

attr height = 20

@Group("Main","Node_2")

attr name = ""

Lot --> extrude(height)

根据上面代码,我们把height变量分在Main组下的Node_1分组内,name变量分在Main组下的Node_2分组内。在属性窗体中效果如下图:

2.  2.@Order(order)

控制变量在其分组中的排序,其参数值可以为负数,参数值越高,排序越后。

@Group("Main") @Order(0)

attr height = 20

@Group("Main") @Order(-1)

attr name = ""

Lot --> extrude(height)

上面的代码表示将height变量和name变量放在Main组中,name排在height前面,效果如下图:

3.  3.@Description("description")

为变量添加MouseTips信息,当鼠标指向变量时即可显示描述信息,效果如下:

4.  4.@File

将变量值定义成以文件选择器的方式显示,可以利用文件选择窗体来对变量赋值,也可以加入参数:@File("tif")来设置文件选择器的文件类型限制。效果如下:

5.  5.@Color

将变量值定义成以颜色选择器的方式显示,可以利用颜色选择窗体来对变量赋值。效果如下:

6.  6.@Range

用于定于变量的值域,可以定义数值性的范围,也可以定义字符等类型值的属性域。

@Range(5, 50)

attrheight = 20

  

@Range(Low="Low", Mid="Mid", High="High")

attrsize = ""

@Range(Red="#ff0000",Green="#00ff00",Blue="#0000ff")

attr color = "#000000"

以上代码表示将height变量设置在550的范围,将size变量设置了三个值域,分别是LowMidHigh可选值,将color变量设置了RedGreenBlue三个可选值。效果如下: