下載app免費(fèi)領(lǐng)取會(huì)員
9、在步驟8的基礎(chǔ)上通過(guò)節(jié)點(diǎn)Curve.PointAtParameter獲取曲線上的點(diǎn),具體的點(diǎn)位置由節(jié)點(diǎn)Code Block決定,即從曲線的起點(diǎn)到終點(diǎn)均分為4段,取5個(gè)點(diǎn)。
10、通過(guò)代碼塊定義一個(gè)由-1和1組成的列表。
10.1 第一行中的{-1, 1}表示由-1和1兩個(gè)數(shù)值創(chuàng)建的小列表,并將列表賦予變量cullPattern。
10.2 第二行中首先出現(xiàn)的節(jié)點(diǎn)是List.Cycle,該節(jié)點(diǎn)的作用是將指定的列表重復(fù)指定的次數(shù)。第二個(gè)用到的節(jié)點(diǎn)是Math.Ceiling,該節(jié)點(diǎn)的作用是返回一個(gè)大于指定輸入值且最接近輸入值的整數(shù),圖中5/2=2.5,因此返回值為3。整體的含義是將列表cullPattern重復(fù)3次。
10.3 第三行使用的節(jié)點(diǎn)是List.ShiftIndices,該節(jié)點(diǎn)的作用是“滑動(dòng)”列表,將整個(gè)列表的數(shù)據(jù)移動(dòng)指定的索引數(shù)。圖中就是將列表向下移動(dòng)一個(gè)索引項(xiàng)。例如{-1, 1, -1, 1}將會(huì)變?yōu)閧1, -1, 1, -1}。
10.4 最后一行將未移動(dòng)過(guò)前的列表和移動(dòng)后的列表整合進(jìn)一個(gè)大列表中。
11、同樣使用節(jié)點(diǎn)List.Cycle將輸入的列表進(jìn)行重復(fù)。需要重復(fù)的列表是步驟10.4的列表,重復(fù)的次數(shù)與步驟7.2中點(diǎn)的數(shù)量有關(guān)。因?yàn)榱斜韠baseList, shiftList}原本有兩個(gè)列表,所以重復(fù)的次數(shù)為點(diǎn)的數(shù)量除以2。
12、將點(diǎn)圖元沿著上下方向移動(dòng)復(fù)制。
12.1 節(jié)點(diǎn)Geometry.Translate能夠?qū)⑤斎氲膶?duì)象移動(dòng)復(fù)制。
12.2 輸入端geometry輸入需要被移動(dòng)的圖元,圖中為步驟9中的各個(gè)點(diǎn)。
12.3 剩下的三個(gè)輸入端分別對(duì)應(yīng)著X方向、Y方向和Z方向的移動(dòng)距離。
12.4 其中X方向與Y方向都為0。Z方向根據(jù)步驟11中的列表計(jì)算數(shù)值,將步驟11的列表乘以移動(dòng)的距離,就得到了一個(gè)正負(fù)相間的結(jié)果,一個(gè)向上一個(gè)向下,以此類推。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:DynamoPrimer解析之Packages - MapToSurface-PleatedPolysurface-OffsetPointstoSurface(二)
推薦專題