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