下載app免費領取會員
Dynamo 有幾個關于 Function 的節點:
在使用這些節點之前,我們要先理解什么是 Dynamo 中的 Function。
在很多編程語言中,都用 Function 來定義函數。編程函數是能實現預定義功能的代碼塊,可以包含不同數量的輸入參數。Dynamo 中的大部分節點都是經過 UI 包裝后的視覺樣式,其本質是通過 DesignScript 定義的函數,即 Function。
當所有輸入端都收到明確的值(含默認值)時,將執行函數并輸出結果:
* 上方的節點可以描述為,有一個函數 Function(value1, value2),作用是返回兩個數字中較大的值。當 value1 = 5,value2 = 10 時,執行 Function(5, 10),輸出結果為 10。
如果不滿足上一條件,節點還有輸出嗎?
有,輸出 Function
* 上方兩個節點都輸出 Function,但其實兩個函數有所區別。1號節點已經為 value1 賦值,因此value1 會作為已知變量存儲在函數內部,節點輸出 Function(value2)。而2號節點未定義任何輸入,故輸出原函數:Function(value1, value2)。
* 其他節點也類似,如果輸出預覽顯示為 Function,就根據輸入端的賦值情況來確定輸出函數的結構。
節點:Function Apply
描述:將參數應用到函數
輸入端 function:用于接收函數
輸入端 argument0:用于接收輸入參數,參數數量需和函數所需參數數量一致
* 上方分別將對應數值應用到函數,其結果和直接使用節點運算是一樣的。正常情況也沒必要在這時使用該節點。
節點:Function Compose
描述:將多個函數組合成一個復合函數
輸入端 function0:需要組合的函數
* 上方定義了一個復合函數,運行時先將 y = 3 應用到 function2,再將function2 的執行結果(4)作為輸入參數傳遞到 function1 ,如此執行到最后,將 function0 的結果輸出為 result = 6。
節點:List.Map
描述:將列表中的元素逐個應用到函數,并由結果組成新的列表
輸入端 list:參數列表
輸入端 function:待執行函數
由于 Dynamo 能夠自動枚舉列表,也可以使用以下節點達到同樣效果:
節點:List.GroupByFunction
描述:先將列表元素應用到函數,再根據函數結果對原列表分組
輸入端 list:待分組列表
輸入端 groupFunction:函數
最終將相同函數結果所對應的列表項放到一個組,拆解過程如下:
節點:List.SortByFunction
描述:先將列表元素應用到函數,再根據函數結果對原列表排序
輸入端 list:待排序列表
輸入端 sortFunction:函數
最終根據函數結果對原列表排序,拆解過程如下:
本文源自微信公眾號:BIMExp
作者: leoskudos
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
上一篇:Dynamo教程 | Dynamo軟件教程:用Dynamo自動放置多管綜合支吊架
下一篇:Dynamo教程 | Dynamo可以單獨使用嗎?Dynamo適于做什么?
推薦專題