下載app免費(fèi)領(lǐng)取會(huì)員
1、第一個(gè)自定義節(jié)點(diǎn)是SampleSrf。
2、首先通過(guò)節(jié)點(diǎn)Rectangle.ByWidthLength創(chuàng)建一個(gè)矩形,矩形的長(zhǎng)寬由節(jié)點(diǎn)Code Block控制,都是100個(gè)單位。
3、獲取曲面上的點(diǎn)。
3.1 第1行表示將矩形封閉形成曲面,該節(jié)點(diǎn)是操作節(jié)點(diǎn),因此可以寫(xiě)成圖中的形式。
3.2 第2行是創(chuàng)建一個(gè)列表,該列表從0至1區(qū)間內(nèi)均分為10個(gè)數(shù)據(jù)。
3.3 第3行是通過(guò)節(jié)點(diǎn)Surface.PointAtParameter獲取曲面上的點(diǎn)。操作的對(duì)象是第一行的t7。輸入端u和v是第二行的t6,為了控制數(shù)據(jù)的順序,使用尖括號(hào)加上數(shù)字來(lái)表示數(shù)據(jù)的先后順序,優(yōu)先計(jì)算數(shù)值更小的數(shù)據(jù)。
3.4 第4行通過(guò)節(jié)點(diǎn)Surface.UVParameterAtPoint獲取曲面上點(diǎn)的UV坐標(biāo)。曲面就是t7,點(diǎn)是第三行的t9。
3.5 第5行的節(jié)點(diǎn)MapTo可將一組數(shù)據(jù)在保持分布律不變的情況下映射到指定區(qū)間中。第三個(gè)輸入端將會(huì)輸入需要被映射的數(shù)據(jù),前兩個(gè)輸入端的數(shù)據(jù)控制著所輸入數(shù)據(jù)的范圍,第四個(gè)和第五個(gè)輸入端控制著新的范圍。
3.6 第6行是同樣的原理,只是映射的對(duì)象從U坐標(biāo)變?yōu)閂坐標(biāo)。
4、定義新的點(diǎn)圖元的位置。
4.1 第1行和第2行是通過(guò)節(jié)點(diǎn)Math.RadiansToDegrees將弧度轉(zhuǎn)換為角度,轉(zhuǎn)換的對(duì)象是上一步中重新映射區(qū)間后的UV坐標(biāo)。
4.2 第3行到第5行中,通過(guò)余弦和正弦函數(shù)計(jì)算出Cx和Cy,將v的數(shù)據(jù)直賦予變量Cz。
4.3 第6行到第8行中也是三角函數(shù)的應(yīng)用,最后三行直接定義出三個(gè)數(shù)值x、y和z作為后期點(diǎn)的坐標(biāo)分量。
5、通過(guò)點(diǎn)圖元?jiǎng)?chuàng)建曲面。
5.1 節(jié)點(diǎn)Point.ByCoordinates利用上一步中的數(shù)據(jù)作為坐標(biāo)分量創(chuàng)建點(diǎn)圖元。
5.2 節(jié)點(diǎn)NurbsSurface.ByControlPoints可以根據(jù)輸入的點(diǎn)創(chuàng)建曲面,這些點(diǎn)是控制點(diǎn),因此曲面不一定會(huì)通過(guò)點(diǎn)。
6、上一步中生成的曲面在X方向有偏移,通過(guò)節(jié)點(diǎn)Geometry.Translate將其沿著X方向移動(dòng)30個(gè)單位就是如圖所示的位置。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:DynamoPrimer解析之Custom Nodes - Revit-StructuralFraming
下一篇:DynamoPrimer解析之Packages - MapToSurface-PanelingWithPolygons(下)
推薦專題