下載app免費領(lǐng)取會員
1、首先通過節(jié)點Rectangle.ByWidthLength創(chuàng)建一個矩形,這個節(jié)點的第一個輸入端plane需要一個平面作為矩形的定位平面,矩形的中心將位于所輸入平面的中心。圖中輸入的平面是X軸與Y軸組成的平面。輸入端width與length分別為矩形的寬度與長度,圖中將它們都定義為100個單位。最后用節(jié)點Surface.ByPatch將矩形封閉形成曲面。
2、通過節(jié)點Surface.PointAtParameter獲取曲面上的點。輸入端surface輸入一個曲面。輸入端u和輸入端v分別輸入曲面上兩個方向的坐標,該坐標值位于區(qū)間[0, 1]中。圖中所輸入的兩個坐標都為0和1之間均分為50份的各個數(shù)值。最后將節(jié)點Surface.PointAtParameter的連綴方式改為叉積就獲得圖中的點陣。
3、建立一個CodeBlock。
3.1 第一行是創(chuàng)建一個列表,該列表的數(shù)值與數(shù)學(xué)中正弦函數(shù)有關(guān)。Math.Sin(x*360*cycles)中變量x是0至1之間均分為50份后的列表。變量cycles表示周期,乘以360之后就能控制函數(shù)的頻率。變量amp表示幅度,數(shù)值越大,所獲得的結(jié)果就越大。
3.2 第二行使用了列表處理中的函數(shù)Transpose,可以將輸入的列表進行轉(zhuǎn)置。
3.3 最后的變量eggShellList是前兩個小步中數(shù)據(jù)的和,用于下一步中各個點移動的距離。
4、節(jié)點Geometry.Translate能夠?qū)⑤斎氲膶ο筮M行移動復(fù)制。在上一步中,一個數(shù)據(jù)經(jīng)過正弦函數(shù)計算之后,會有50個數(shù)據(jù)合在一個子列表中。一共有50個數(shù)據(jù),因此生成50x50=2500個新數(shù)據(jù)。剛好我們生成的點就是2500個,每個點對應(yīng)一個移動的距離。節(jié)點Geometry.Translate的輸入端geometry輸入需要移動的幾何圖形。輸入端direction輸入移動的方向,圖中為世界坐標系Z軸的正方向。輸入端distance輸入移動的距離。
5、節(jié)點NurbsSurface.ByPoints能夠依據(jù)輸入的點生成曲面,但是在輸入點之前先通過一個代碼塊控制所輸入的點。sineStrips表示所有點組合成的列表,隨后的一對中括號表示提取列表中指定的索引項。索引項從0開始直到某個數(shù)值,這個數(shù)值是由列表的項數(shù)減去1之后乘以一個系數(shù),該系數(shù)位于區(qū)間[0, 1]之間,相當(dāng)于控制了該曲面所覆蓋的點的范圍。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit中老虎窗的繪制要點
下一篇:DynamoPrimer解析之ARCH-Selecting-BaseFile
推薦專題