下載app免費領取會員
該樣例文件主要是介紹Dynamo中節點Python Script的簡單應用。
1、指定一個規則,讓輸入列表的索引項依次相加或者依次相減。
1.1 節點Integer Slider可以生成三個數字-1、0和1。
1.2 節點Code Block輸入公式“0..10”,生成一個列表{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}。
1.3 調出節點Python Script,雙擊節點面板進入編輯模式。
1.4 第9行和第10行分別定義兩個變量,一個是sign將會繼承輸入端IN[0]的值,另一個是nums將會繼承輸入端IN[1]的值。
1.5 第12行新建一個空的列表partials。
1.6 第13行新建一個變量result,并賦值為0。
1.7 第16行創建一個for循環,循環的次數是列表nums的索引項數量。
1.8 循環的過程中,第17行進行第一種判斷。如果sign的值小于0,那么將result的值更新為result加上列表的索引項。該索引項取決于進入循環時index的值。最后將結果放進列表partials中。
1.9 循環的過程中,第20行進行第二種判斷。如果sign的值等于0,那么列表partials中的值就添加一次0。然后通過continue命令回到循環的開頭,直到循環結束。
1.10 循環的過程中,第23行進行第三種判斷。如果sign的值大于0,那么將result的值更新為result減去列表的索引項。該索引項取決于進入循環時index的值。最后將結果放進列表partials中。
1.11 第29行將OUT定義為一個空列表。
1.12 第30行為列表OUT添加變量result的值。
1.13 第31行為列表OUT添加列表partials的值。
2、經過步驟1.12和1.13之后,列表OUT中有兩個子列表,通過節點List.GetItemAtIndex提取出來。
2.1 節點List.GetItemAtIndex可以獲取列表中指定的索引項,輸入端index輸入0時提取第一個子列表,輸入端index輸入1時提取第二個子列表。
3、通過Python Script導入ProtoGeometry庫之后就可以想Code Block一樣執行節點的命令。
3.1 第7行和第8行分別生成了兩個點,坐標為(0, 0, 0)和(-10, -10, -10)。
3.2 第10行在第7、8行的基礎上,通過兩點創建了一條直線。
3.3 第12行新建了一個列表,列表中存放著五個點,分別為點(0, 0, 0)、點(10, 10, 0)、點(20, 0, 0)、點(30, 10, 0)和點(40, 0, 0)。
3.4 第19行創建一條樣條曲線,構成樣條曲線的點就是步驟3.3中的點。
3.5 第21行創建一個曲線,曲面是通過拉伸曲線來實現的,拉伸方向是向量(0, 0, 1),拉伸距離為10。
3.6 將輸出的對象OUT定義為一個列表,這個列表由三個對象組成,第一個是直線,第二個是曲線,第三個是曲面。
3.7 節點Code Block分別提取列表的三個對象,并且每一個對象各連接一個Watch節點查看結果。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
上一篇:Dynamo樣例文件解析之Core_PassingFunctions
下一篇:Dynamo樣例文件解析之Core_RangeSyntax
推薦專題