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