嚴(yán)文通 廣東科學(xué)技術(shù)職業(yè)學(xué)院
Revit 是Autodesk 公司的建筑信息模型(BIM)軟件,其高效、便捷的參數(shù)化建模廣泛應(yīng)用在建筑業(yè)中,參數(shù)化模型是一些構(gòu)件與另一些構(gòu)件存在關(guān)聯(lián)關(guān)系,當(dāng)某一個建筑構(gòu)件的參數(shù)發(fā)生變化時,其它跟它關(guān)聯(lián)的構(gòu)件也同時發(fā)生變化,參數(shù)化可以通過簡單的數(shù)值來控制也可以用公式或邏輯關(guān)系來控制建筑構(gòu)件,這樣搭建建筑模型的效率大大提高。
Dynamo for Revit 是基于Revit 的可視化腳本程序,可以構(gòu)建自定義算法處理數(shù)據(jù)并生成幾何圖形,在Dynamo 中可以構(gòu)件Revit 對像,如參數(shù)化創(chuàng)建樓層標(biāo)高、創(chuàng)建樓層平面、創(chuàng)建天花板平面、參數(shù)化生成軸網(wǎng),參數(shù)化生成墻體、樓板等。Revit 參數(shù)化模型軟件在搭建建筑模型功能十分完善,對于一些有規(guī)律重復(fù)的構(gòu)件,比如玻璃幕墻、外墻的遮陽板等構(gòu)件,可以通過參數(shù)化或建立自定義的族,讓重復(fù)的構(gòu)件很輕松地按照一定規(guī)律自動快速地生成,而無需通過復(fù)雜的建模命令去創(chuàng)建。Revit 配合Dynamo 進行參數(shù)化模型的搭建,自動生成各種構(gòu)件,能做到更高級的參數(shù)化、信息化建模。
Revit 新建建筑項目,在附加頁面中點擊Dynamo 1.3 可視化編程插件啟動Dynamo 可視化編程,圖書館共九層、每層標(biāo)高4.5 米、屋頂標(biāo)高40.5 米,共十個標(biāo)高。創(chuàng)建標(biāo)高的節(jié)點命令有:By Elevation、By Elevation And Name、By LevelAnd Offsett 和ByLevelOffsetAnd Name 四個命令。
四個節(jié)點命令功能如下:
Level.Byelevation:根據(jù)項目中其高程來創(chuàng)建Revit 標(biāo)高,標(biāo)高名稱自動命名。
Level.ByElevation And Name:根據(jù)項目中其高程和名稱來創(chuàng)建Revit 標(biāo)高。
Level.ByLevelAnd Offset:根據(jù)相對現(xiàn)有標(biāo)高的長度偏移來創(chuàng)建Revit 標(biāo)高。
Level.ByElevation And Name:根據(jù)新標(biāo)高名稱及相對現(xiàn)有標(biāo)高的偏移來創(chuàng)建Revit 標(biāo)高。
圖書館10 個 標(biāo)高分別是0、4500、9000、13500、18000、22500、27000、31500、3600、40500 毫米,新建的建筑項目默認(rèn)已有兩個標(biāo)高,標(biāo)高1 和標(biāo)高2。
標(biāo)高2 默認(rèn)標(biāo)高是4000,現(xiàn)將默認(rèn)標(biāo)高2 數(shù)值改為4500,使用Element.SetParameterByName 節(jié)點命令設(shè)置標(biāo)高2 的標(biāo)高數(shù)值為4500,使用創(chuàng)建數(shù)字序列節(jié)點命令Sequence,該命令有三個輸入:start(序列開始的數(shù)字)、amount(該數(shù)列共有多少數(shù)字總量)、step(每個數(shù)字之間的間隔量),從標(biāo)高3 開始創(chuàng)建至標(biāo)高10 共創(chuàng)建8 個標(biāo)高,開始標(biāo)高是9000,數(shù)列總共有8 個數(shù)字,每個數(shù)字之間間隔是4500。
雙擊空間空白處,分別添加三個Cod e Block,分別將以上數(shù)值填進其中,并與其相對應(yīng)連接并將序列結(jié)果輸出至Watch 顯示序列內(nèi)容。將數(shù)列連接到Level.Byelevation 標(biāo)高節(jié)點命中,點擊左下角運行命令創(chuàng)建標(biāo)高。添加FloorPlanView.Bylevel 節(jié)點命令和Ceiling Planview.ByLevel 節(jié)點命令自動生成相應(yīng)樓層平面和天花板平面。
軸網(wǎng)左右進深是A 至H,上下開間是1-17,每軸之間間隔7500,設(shè)A1 軸左邊軸點位置為零點坐標(biāo),其他點位置即可以計算出來,如:B1 軸點坐標(biāo)為0 和7500,右邊A17 軸點位置為120000和0。先繪制A 至H 軸的軸網(wǎng),使用Point.By Coordinates 節(jié)點函數(shù)在給定的兩坐標(biāo),在平面中形成點。A、B、C、D、Е、F、G、H 點的Y 軸坐標(biāo)分別為0、7500、15000、22500、30000、37500、45000、52500,使用Sequence 點函數(shù)創(chuàng)建以上序列賦值給Point.By Coordinates 節(jié)點函數(shù)。
使用Integer Slider 滑動條,可以拉動滑塊調(diào)節(jié)軸網(wǎng)的個數(shù)。右邊的軸坐標(biāo)點也用同樣方法,Y 軸還是上面列出的數(shù)值,X 軸的數(shù)值是1 至17 軸的總距離(17-1)×7500=120000,用Code Block設(shè)置一簡單公式(A-1)×B,A 為17、B 為7500,將左邊的Point 值和右邊的Point 賦值給Grid.BystartPointEnd Point 節(jié)點函數(shù)創(chuàng)建軸網(wǎng),同時需要增加一個Element.SetParameterByName 命名軸號的節(jié)點函數(shù),用Sequence 序列節(jié)點函數(shù)取得ABCDEFGG 字母序列賦值繪SetParameterByName,如下圖:
同樣方法創(chuàng)建1 至17 軸上面和下面的坐標(biāo)點,將1-17 號軸號命名,運行生成完整軸網(wǎng),完整節(jié)點函數(shù)連接如下圖:
Dynam o 生成完整軸網(wǎng)
在Revit 手動繪制軸網(wǎng)與Dynamo 節(jié)點函數(shù)自動生成的軸網(wǎng)相比,后者效率更高,在完成代碼編程后生成軸網(wǎng)僅需改動滑動條運行即自動可生成,如手動添加樓層及繪制軸網(wǎng)需要數(shù)分鐘,用Dynamo 生成可以1 秒以內(nèi)生成,對比起來后者效率十分明顯。
在軸網(wǎng)的基礎(chǔ)上使用Wall.ByCurveAnd Height 節(jié)點函數(shù)在軸網(wǎng)四周創(chuàng)建幕墻,節(jié)點需使用導(dǎo)向曲線、幕墻高度、所在樓層、幕墻類型參數(shù)創(chuàng)建。
Curve 導(dǎo)向曲線選項需要繪制直線來連接,使用坐標(biāo)點定位A1、A17、H1、H17,將以上四點坐標(biāo)分別連接給四個Line.BystartPointEnd Point 節(jié)點函數(shù),即可在四點之間創(chuàng)建四條直線并將四條直線連接List.Create 創(chuàng)建數(shù)組列表再賦值給Curve,同時也將數(shù)組再賦值給Floor.By OutlineTypeAnd Level 節(jié)點函數(shù)創(chuàng)建一層樓板。如圖:
使用FamilyInstance.ByPointAnd Level 節(jié)點函數(shù)在幕墻增加柱子,載入結(jié)構(gòu)混凝土方柱,將方柱連接至familType,將標(biāo)高1連接至level,point 需要將上、下、左、右各坐標(biāo)點連接創(chuàng)建數(shù)組列表再賦值給point,最后將軸網(wǎng)、樓板、墻體、柱子一起運行,即可生成模型。
在BIM 參數(shù)化建模中Revit 配合Dynamo 參數(shù)化編程搭建高效而創(chuàng)新的圖書館三維模型,在Dynamo 可視化編程中數(shù)字建模變得直觀和高效,在本文搭建的Dynamo 模型可以僅需改變其中參數(shù)即整棟建筑完成修改,建模的方法高效而新穎和有一定的實用性。