下載app免費領取會員
6、曲面的點已經通過上一步中的移動復制確定了位置,于是通過節點NurbsSurface.ByPoints創建一個曲面,輸入端points需要輸入組成曲面的各個點圖元,輸入端uDegree和輸入端vDegree分別表示U方向和V方向的階數,默認是3。
7、節點AdaptiveComponent.ByPoints能夠自動放置自適應構件。在此之前,需要確定兩個變量。
7.1 第一個變量是輸入端familyType,即自適應構件的族類型,該變量可以直接通過節點Family Types確定。
7.2 第二個變量是輸入端points,即自適應構件的定位點。定位點比較復雜,需要借助節點包LunchBox中的節點LunchBox Quad Grid by Face,該節點需要三個輸入端,第一個輸入端surface就是曲面,輸入端U和輸入端V分別表示U方向和V方向四邊形的數量。
7.3 最終的輸出端有三個,第一個是Panel Pts,即四邊形的四個點。第二個是Panel Polys,即四邊形的四條邊。第三個是Panel Faces,即四邊形的面。我們需要的是四邊形的點作為定位點。
8、放置完自適應構件以后,每個構件與太陽光之間都有一個夾角。
8.1 節點Plane.ByBestFitThroughPoints能夠通過輸入的點創建一個最接近輸入點的平面,節點Plane.Normal能夠獲取平面的法向量,即得到了每個構件所在平面的法向量。
8.2 節點SunSettings.Current能夠獲取當前文檔中的日光設置,節點SunSettings.SunDirection能夠獲取日光設置中日光的方向。最后用節點Vector.Dot計算兩種向量之間的點積。
9、將Aperture Ratio的數值賦予每個自適應構件。
9.1 在上一步中獲取到向量之間的點積之后,先通過節點Math.Abs得到這些數據的絕對值。
9.2 通過節點Math.RemapRange重新定義數據的范圍并且保留數據的分布率。輸入端newMin和輸入端newMax分別定義的是新范圍的最小值與最大值。輸入端numbers輸入需要調整的數據。
9.3 最后通過節點Element.SetParameterByName將參數值賦予到參數Aperture Ratio中。輸入端element輸入之前放置的自適應構件。輸入端parameterName表示參數的名稱,即Aperture Ratio。輸入端value輸入參數的具體數值,即向量點積的絕對值。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
上一篇:DynamoPrimer解析之ARCH-Customizing-BaseFile(上)
推薦專題