1. 程式人生 > >CityEngine規則中變數的定義和顯示

CityEngine規則中變數的定義和顯示

 

規則檔案可以自定義變數值,而且還可以定義變數的分組、排序、值域等顯示方式。以下就列舉幾個常用的關鍵字:

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)

attr height = 20

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

attr size = ""

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

attr color = "#000000"

以上程式碼表示將height變數設定在550的範圍,將size變數設定了三個值域,分別是LowMidHigh可選值,將color變數設定了RedGreenBlue三個可選值。效果如下: