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
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變數設定在5至50的範圍,將size變數設定了三個值域,分別是Low、Mid、High可選值,將color變數設定了Red、Green、Blue三個可選值。效果如下: