標籤:

Dynamo中Code Block用法匯總

Dynamo中Code Block用法匯總

Code Block是Dynamo最重要的一個節點,功能也非常強大,由於功能太多,難免被忽略部分功能,趁著還不忙,把Code Block各種用法匯總一下。

1.作為輸入功能

Code Block可以用作輸入數值,字元串,列表,公式等功能,一般輸入數值比較常用了:

1.1 輸入數值時不用添加任何符號,直接輸入數值即可,好處就是很方便,不用輸入Number節點,雙擊界面任意位置即可調出Code Block節點,如下圖:

1.2 輸入字元串需加雙引號<「」>,如下圖:

如上圖所示,除了用字母舉例以外,我又用了數字「3.142」以及「3*5」公式作為字元串,字元串不僅僅是字母,還包括數字,符號等很多字元,都可以加雙引號<「」>Code Block節點中表示出來。

1.3 輸入列表功能,用大括弧「{}」表示,如下圖:

每一項之間用逗號隔開,可輸入數值,字元串,公式等,圖中紅框「7」代表的就是字元7。

1.4 作為公式使用:

Dynamo提供了三種實現公式的節點Code BlockFormula「+","-","*","/"等,相比較而言還是Code Block比較方便。

2. 創建遞增或遞減數組

這個也是比較常用的功能,Code Block提供了多種創建數組的方式替代RangeSequence節點,數值之間用兩個英文句號表示「..」,如下圖所示:

若數值前加「#」,代表數值為列表的項數,如下圖所示:

Code Block除創建簡單列表外,也可創建多維列表,嵌套列表,用括弧<()>表示,如下圖所示:

不同的數組可以有不同的組合,相對比較亂,不過掌握以後,用起來還是比較自如的。

只看到遞增數組,遞減數組怎麼做?

回答:起始值大於最終值,就是遞減數組了。

3. 編輯列表

Code Block除了創建列表以外,還可以通過對列表進行提取,合併等操作替代List.CreateList.GetItemAtIndex節點

合併列表如下圖所示:

提取列表用到中括弧<[]>,Code Block的提取方式要比List.GetItemAtIndex方便很多如下圖所示:

4.執行節點命令

Code Block可以執行大部分節點命令,好處也是使用起來非常的方便。比如Point.ByCoordinates節點,要做一個點,除了用到Point.ByCoordinates節點外,還要單獨做三個數值輸入節點,相對來說比較麻煩,而用Code Block節點就可以比較方便的生成點,如下圖所示:

5. 自定義函數命令

Code Block提供了自定義函數的命令,自定義函數有自己的語法規則:第一行要輸入def 新函數名字(未知數),第二行開始要用大括弧約束內部定義命令,結尾用return返回結果。自定義函數還是需要一點計算機語言知識比較好理解。如下圖:

調用上圖自定義節點FunctionName的方式:

由於編寫自定義函數比較複雜,需要一些c語言的知識,所以用到的地方暫時不多。

總結:

1.作為輸入功能

2. 創建遞增或遞減數組

3. 編輯列表

4.執行節點命令

5. 自定義函數命令

現在來總結一下Code Block都用到哪些符號:

雙引號<「」>:輸入字元串時用到;

逗號<,>:輸入數組時用來隔開項;

小括弧<()>:創建多維數組時用來隔開每一項;

中括弧<[]>:用來提取列表中制定項;

大括弧<{}>:創建任意列表或自定義函數時使用;

雙句號<..>:創建遞增數列組時用來隔開起始值和最終值等;

分號<;>:每行結尾需加分號表示結束,單獨一行自動添加。

Code Block大概就這些內容吧。後續有想法還會繼續添加。用好Code Block,工作效率也會大大增加。

另外Dynamo幫助文件中有專門介紹Code Block的內容,可以作為參考。


推薦閱讀:

Dynamo應用秘籍:19:使用等高線創建簡易地形Solid
Dynamo應用秘籍:5:連綴作祟,慎用IF
應用秘籍目錄
Advance Steel建立參數化的兔型鋼構大樓
Dynamo根據參數過濾

TAG:Dynamo |