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

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

NULL

ad.jpg

Dynamo樣例文件解析之Core_ListAtLevel

發(fā)布于:2019-08-07 11:01:41

來(lái)福

更多

該樣例文件主要是介紹列表中級(jí)別的應(yīng)用,列表中關(guān)于級(jí)別的設(shè)置可以讓我們直接選擇要處理的列表級(jí)別。

1、創(chuàng)建一個(gè)多維列表。

1.1 代碼塊中的第一行“0..30..#8”表示生成一個(gè)起始值為0、終止值為30、列表的項(xiàng)數(shù)為8的列表。

1.2 代碼塊中的第二行“12..0..#4”表示生成一個(gè)起始值為12、終止值為0、列表的項(xiàng)數(shù)為4的列表。

1.3 通過(guò)節(jié)點(diǎn)Point.ByCoordinates創(chuàng)建點(diǎn),連綴方式為叉積。將第一個(gè)列表作為點(diǎn)X分量的值,將第二個(gè)列表作為點(diǎn)Y分量和Z分量的值。

1.4 所生成的點(diǎn)列表一共有三個(gè)維度。L3上一共有八個(gè)列表,這八個(gè)列表是由X分量的數(shù)值所控制的。L3上的八個(gè)列表在L2層級(jí)各有4個(gè)子列表。L2上的所有子列表再L1層級(jí)上各有四個(gè)點(diǎn)對(duì)象。共計(jì)“8x4x4=128”個(gè)點(diǎn)。

2、通過(guò)使用級(jí)別操作列表。

2.1 為生成的點(diǎn)圖元連接節(jié)點(diǎn)Count。同時(shí)打開(kāi)“使用級(jí)別”,將級(jí)別定位在L4的時(shí)候,Count命令將會(huì)針對(duì)該級(jí)別的一個(gè)列表,因此結(jié)果為8個(gè)子列表。

2.2 為生成的點(diǎn)圖元連接節(jié)點(diǎn)Count。同時(shí)打開(kāi)“使用級(jí)別”,將級(jí)別定位在L3的時(shí)候,Count命令將會(huì)針對(duì)該級(jí)別的八個(gè)列表,因此結(jié)果為4個(gè)子列表。每個(gè)列表都是4個(gè)子列表,因此結(jié)果是八個(gè)4。

2.3 為生成的點(diǎn)圖元連接節(jié)點(diǎn)Flatten。同時(shí)打開(kāi)“使用級(jí)別”,將級(jí)別定位在L3的時(shí)候,F(xiàn)latten命令將會(huì)針對(duì)該級(jí)別的八個(gè)列表,因此這八個(gè)列表就都被展平,原本的四個(gè)子列表變?yōu)橐粋€(gè)列表。

3、打開(kāi)“保持列表結(jié)構(gòu)”。同樣都是接入節(jié)點(diǎn)Count,并且針對(duì)L2執(zhí)行命令。在不保持列表結(jié)構(gòu)的情況下,所獲取的結(jié)果是32個(gè)4組成的列表,但是所得的結(jié)果被存入一個(gè)列表中。在保持列表結(jié)構(gòu)的情況下,所獲取的結(jié)果會(huì)保留原本列表的存放規(guī)律。

4、通過(guò)節(jié)點(diǎn)List.Map可以實(shí)現(xiàn)和使用級(jí)別相同的效果。

4.1 在沒(méi)有使用節(jié)點(diǎn)List.Map的情況下,節(jié)點(diǎn)List.GetItemAtIndex會(huì)針對(duì)輸入列表最外層的列表執(zhí)行命令。因此結(jié)果是將L4層級(jí)下的“1 List”和“2 List”的內(nèi)容。

4.2 使用第一個(gè)List.Map,節(jié)點(diǎn)List.GetItemAtIndex會(huì)脫離列表的第一層級(jí),將函數(shù)應(yīng)用至距離最外側(cè)第二層的列表。因此結(jié)果是獲取位于L3層級(jí)下的“1 List”和“2 List”的內(nèi)容。

4.3 使用第二個(gè)List.Map,節(jié)點(diǎn)List.GetItemAtIndex會(huì)脫離列表的第一層級(jí),將函數(shù)應(yīng)用至距離最外側(cè)第三層的列表。因此結(jié)果是獲取位于L2層級(jí)下的“1 List”和“2 List”的內(nèi)容。

5、通過(guò)列表的使用級(jí)別功能,可以更加高效地獲取嵌套列表內(nèi)部的數(shù)據(jù)。

5.1 打開(kāi)節(jié)點(diǎn)List.GetItemAtIndex的“使用級(jí)別”,并且“保持列表結(jié)構(gòu)”。獲取的結(jié)果與步驟4.3連續(xù)使用兩次List.Map的結(jié)果是一樣的。

5.2 最后通過(guò)生成兩個(gè)幾何圖形來(lái)說(shuō)明最終列表的結(jié)果。第一個(gè)是通過(guò)節(jié)點(diǎn)List.GetItemAtIndex列表中的L4層級(jí)中的八個(gè)列表生成八塊曲面。第二個(gè)是通過(guò)節(jié)點(diǎn)List.GetItemAtIndex列表中的L4層級(jí)中的八個(gè)列表生成“4x8=32”條直線。

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

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

上一篇:revit MEP 中如何編輯管道材質(zhì)

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