完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類(lèi)型
* 企業(yè)名稱(chēng)
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

ad.jpg

Dynamo樣例文件解析之Core_Python

發(fā)布于:2019-08-13 15:33:32

來(lái)福

更多

該樣例文件主要是介紹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)載。

未標(biāo)題-1.jpg

上一篇:Dynamo樣例文件解析之Core_PassingFunctions

下一篇:Dynamo樣例文件解析之Core_RangeSyntax