下載app免費領取會員
該樣例文件主要是介紹列表中級別的應用,列表中關于級別的設置可以讓我們直接選擇要處理的列表級別。
1、創建一個多維列表。
1.1 代碼塊中的第一行“0..30..#8”表示生成一個起始值為0、終止值為30、列表的項數為8的列表。
1.2 代碼塊中的第二行“12..0..#4”表示生成一個起始值為12、終止值為0、列表的項數為4的列表。
1.3 通過節點Point.ByCoordinates創建點,連綴方式為叉積。將第一個列表作為點X分量的值,將第二個列表作為點Y分量和Z分量的值。
1.4 所生成的點列表一共有三個維度。L3上一共有八個列表,這八個列表是由X分量的數值所控制的。L3上的八個列表在L2層級各有4個子列表。L2上的所有子列表再L1層級上各有四個點對象。共計“8x4x4=128”個點。
2、通過使用級別操作列表。
2.1 為生成的點圖元連接節點Count。同時打開“使用級別”,將級別定位在L4的時候,Count命令將會針對該級別的一個列表,因此結果為8個子列表。
2.2 為生成的點圖元連接節點Count。同時打開“使用級別”,將級別定位在L3的時候,Count命令將會針對該級別的八個列表,因此結果為4個子列表。每個列表都是4個子列表,因此結果是八個4。
2.3 為生成的點圖元連接節點Flatten。同時打開“使用級別”,將級別定位在L3的時候,Flatten命令將會針對該級別的八個列表,因此這八個列表就都被展平,原本的四個子列表變為一個列表。
3、打開“保持列表結構”。同樣都是接入節點Count,并且針對L2執行命令。在不保持列表結構的情況下,所獲取的結果是32個4組成的列表,但是所得的結果被存入一個列表中。在保持列表結構的情況下,所獲取的結果會保留原本列表的存放規律。
4、通過節點List.Map可以實現和使用級別相同的效果。
4.1 在沒有使用節點List.Map的情況下,節點List.GetItemAtIndex會針對輸入列表最外層的列表執行命令。因此結果是將L4層級下的“1 List”和“2 List”的內容。
4.2 使用第一個List.Map,節點List.GetItemAtIndex會脫離列表的第一層級,將函數應用至距離最外側第二層的列表。因此結果是獲取位于L3層級下的“1 List”和“2 List”的內容。
4.3 使用第二個List.Map,節點List.GetItemAtIndex會脫離列表的第一層級,將函數應用至距離最外側第三層的列表。因此結果是獲取位于L2層級下的“1 List”和“2 List”的內容。
5、通過列表的使用級別功能,可以更加高效地獲取嵌套列表內部的數據。
5.1 打開節點List.GetItemAtIndex的“使用級別”,并且“保持列表結構”。獲取的結果與步驟4.3連續使用兩次List.Map的結果是一樣的。
5.2 最后通過生成兩個幾何圖形來說明最終列表的結果。第一個是通過節點List.GetItemAtIndex列表中的L4層級中的八個列表生成八塊曲面。第二個是通過節點List.GetItemAtIndex列表中的L4層級中的八個列表生成“4x8=32”條直線。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
下一篇:Dynamo樣例文件解析之Core_ListLacing
推薦專題