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