下載app免費領取會員
說到參數(shù)化建模,常常用于表達復雜的設計,在這個過程中,我們選擇工具的時候一般想到的都是大家所熟知的Rhino+Grasshopper。但是Revit+Dynamo同樣也能做出一些比較復雜的效果,接下來就通過一個實例來模擬實際建筑外裝飾幕墻設計。
1、選取參考曲線并復制至各標高處
1.1 先通過節(jié)點“Select Model Element”選擇參考線,再通過節(jié)點“Categories”和節(jié)點“All Elements of Category”選中所有屬于指定族類別的圖元。
1.2 參數(shù)element表示拾取的曲線,參數(shù)level表示選取的標高。我們現(xiàn)在在第一行獲取element的曲線圖元,在第二行獲取各個標高的數(shù)值并且從小到大排序。在第三行將獲取曲線圖元向上移動復制,即在每個標高位置都復制一次曲線圖元。在第四行將復制后的列表鋪平。
2、造型縮放數(shù)值參數(shù)控制
2.1 首先將縮放的比例定義在區(qū)間[0.74,1.18]之間,然后通過節(jié)點“Math.RemapRange”將所有標高的列表保持分布率不變在區(qū)間[0.74,1.18]內(nèi)重新分布。
2.2 然后通過節(jié)點“List.DiagonalLeft”獲取子列表寬度為3,從右上角至左下角提取列表的數(shù)據(jù)。
2.3 最后轉(zhuǎn)置變?yōu)槲覀冃枰牧斜怼_@樣做的目的在于將縮放系數(shù)分為三個部分。
2.4 第四行至第七行的含義是控制三個部分的縮放系數(shù)。其中item0和item2反轉(zhuǎn)的原因是想讓縮放后變?yōu)镾形。正常情況下,縮放系數(shù)為從小到大排列,反轉(zhuǎn)第一個和第三個列表之后,縮放系數(shù)為從小到大,再從大到小,再從小到大,最后從大到小。
3、標高曲線輪廓縮放
3.1 在這個Code Block中,list端外接第二步中獲取的縮放系數(shù)列表“ list = Flatten({item0, item1, item2})”,mask端通過節(jié)點“Object.IsNull”外接第二步中獲取的縮放系數(shù)列表“ list = Flatten({item0, item1, item2})”,geo端外接第一步中鋪平后的列表“Flatten(geo)”。
3.2 首先第一行通過節(jié)點“List.FilterByBoolMask”判斷縮放系數(shù)的列表中是否存在空值。
3.3 第二行和第三行確定X方向與Y方向的縮放系數(shù),Y方向的縮放系數(shù)需要反轉(zhuǎn)是因為要在X和Y兩個方向交叉縮放。
3.4 第四行運用確定的縮放系數(shù)執(zhí)行縮放。
4、創(chuàng)建幕墻嵌板定位點
4.1 每個標高的輪廓確定以后,就得確定輪廓線上的嵌板定位點。輸入端cur外接上一步縮放后的曲線“ geometry = geo.Scale(x, y, 1)”,輸入端d表示嵌板的寬度。定位點的確定公式是將整個輪廓線的長度除以指定的嵌板寬度,然后對結果進行向上取整。
4.2 然后我們需要兩個點的列表,pts1表示所有曲線輪廓的起點,pts2表示所有曲線的均分點。
4.3 在第五行將輪廓線的起點依次添加進每層曲線的均分點中,相當于從起始點開始到終點然后又回到一次起點。例如,圖中從0開始至3,然后又以0結尾,即{0, 1, 2, 3, 0}。
5、嵌板邊線的創(chuàng)建與定位點清單排序
5.1 輸入端pts接入上一步“List.AddItemToEnd(pts1@-1<1>, pts2@-2<1>)”的結果。
5.2 原本的pts列表中的點為同一標高的點,經(jīng)過轉(zhuǎn)置以后就得到豎直方向點的列表,目的在從上往下形成多重曲線。該曲線的目的在于檢查我們上一步是否有錯位的情況。
5.3 由于嵌板在布置的時候,列表最后一個點會接回第一個點,所以在第三行用節(jié)點“List.FirstItem”先將第一個點提取出來,然后在用節(jié)點“List.AddItemToEnd”將第一個點添加列表。
本文版權歸腿腿教學網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權,謝絕轉(zhuǎn)載。
推薦專題