蔡龍,諶紅杰,劉旭升,黃家俊
(1.湖南工程職業技術學院,湖南 長沙 410151;2.中建五局創新研究院,湖南 長沙 410000)
隨著建筑工業化進程的不斷加快,建筑信息化的要求也越來越高,BIM 技術的快速發展,給建筑業帶來了技術革命,Revit 作為BIM 技術的主要建模平臺,在建模的過程中出現了建模效率低、耗時長、操作復雜、出現沖突和許多不合理的地方,基于API 的二次開發給人員帶來了福音,但目前二次開發的各類插件往往專注個別項目,解決小范圍的問題,有效的插件傳播效率也不高,導致開發成本高,效果卻被局限等問題,如何通過橋梁紐帶,搜羅和開發各類插件,予以加工和完美并集中到統一平臺,方便用戶隨時下載和使用,在解決開發效率低等問題的同時促進BIM 行業的發展,是亟待深入解決的問題。研究團隊針對上述問題進行設計優化與路徑實現,設計構思并實現基于Revit 平臺的插件管理平臺,從問題分析、現狀研究、開發思路、技術框架、開發流程五個方面進行闡述。
BIM 技術是近年來在建筑領域輔助設計的一種新技術,BIM 技術能是提高建筑信息化、集成化的基礎,以建筑工程中相關的信息數據為基礎,建立信息化的建筑模型,集成項目信息,建議一個完整的、高度集成的模型,它可涉及建筑全生命周期,包括設計、施工、管理以及后期運維等階段的管理。而Revit 是BIM 技術的主要應用軟件,Revit 在建模階段的是其他軟件不可比擬的,但面對體型巨大、構件繁雜、技術規范不一的建筑物,Revit 的建模總存在各種缺陷和不便,如何解決這樣的問題,基于Revit 接口二次開發的插件能很好的解決局部存在的問題。然而問題產生的速度遠快于插件的開發速度,開發的插件也很難被適用者發現并運用,那么中間的銜接平臺就顯得尤為重要。BIM 插件平臺能為Revit 使用者提供設計的必要插件,從而實現縮短BIM 設計的制作過程,實現效率的最大化。
Revit 作為BIM 技術在三維設計方面的代表,由于其出色的建模表現和先進的設計理念和思想,成為了當前工程設計領域杰出代表,Revit 在建模的基礎上也涉及到后期的運維、管理等一系列生態鏈。隨著BIM 技術的發展,多專業協同成為了發展必然,要解決不同專業中的沖突和不合理的地方,還有很長的路要走。Revi 軟件將構件參數化及屬性信息嵌入模型,為數據統計和后期運維管理等提供了依據。同時,由于建筑設計的多樣化及不同專業系統的差異化,使得Revit 軟件原有的功能并不能完全滿足建筑工程設計中的所有需求,基于這些考慮,Revit 提供了適用性更強的API 接口,并向用戶開放,具有一定開發能力的用戶可以在API 的基礎上來擴展和增強新功能,甚至生成插件應用來彌補軟件一定要來的不足。
隨著設計人員對效率要求的提高,插件就顯得尤為重要,插件是Revit 的一個重要組成部分,能夠提高設計者的設計效率,完成本來需要很長時間才能完成的工作,對于企業來說,在建模過程中有效的使用插件能大量的節約時間和金錢成本,不同類型的插件還可為設計者提供新的設計靈感,在提高效率的同時提高設計質量。建立一個屬于自己的插件庫,并在此基礎進行有效的運用,能明顯提高企業的建模的速度和準確性。
BIM 插件市場目前還處于一個初始階段,有許多有開發能力的設計者正在努力開發能解決不同問題的各類插件,但都注重于解決工程中的具體問題,雖然市面上有一些插件出現 ,但由于建筑行業的快速發展,現有的部分插件并不能滿足各異的市場需求。目前還主要存在功能和內容不夠豐富,操作復雜適用性不強,很多功能的實現需要重復操作,工作效率低下,建筑業發展迅速,需求變化快,但平臺功能方案迭代慢等問題。隨著建模速度和精度要求越來越高,而作為BIM 技術的主要軟件的Revit,本身并沒有開發出提高速度的精度的模塊,這些需求如果 被 忽視,那勢必導致建模效率低下、錯誤多、耗時長等一系列問題。目前市場上面并不能找到適用不同需求的插件,在使用過程中用戶很難找到令人滿意的插件,急需開發一款具備統籌和評價的系統 來幫助管理不同插件。
二次開發插件來解決實際建模和使用過程中的問題,國內外都非常重視,有許多研究案例,但都是以結合某些具體的建筑實例為主,通用性不強,還處于解決個別問題階段。例如在劉泛凡等在Revit 基礎上進行二次開發對某裝配式建筑項目的深化設計方面進行研究開發,由于在裝配式建筑設計領域沒有相關的專用模塊導致建模效率低下等問題,通過二次開發,大量的減少了重復性的工作,使深化設計效率有效提高,讓工作如期完成。在2019年,喬恩懋、丁琦等在Revit 開放的API 接口上進行二次開發,用開發的相應插件解決了空間網架建模難的問題,讓建模流程實現了自動化,進行自動干涉和遺漏檢查 ,大大提高了建模的效率和準確度,讓建模效率提高了41%。王博等在地鐵圍護樁的創建過程中發現,通過將樁定位線的偏移得到樁中心線,從而快速得到樁基礎輪廓,可以精確的計算樁相對坐標,實現自動布置樁,通過開發插件實現了CAD 底圖讀取、智能排布功能,定位算法等功能。在國外,例如肖貝等利用Revit進行二次開發,在深基坑案例中,利用二次開發程序實現了深基坑開挖模式的建立,程序的有效運用使土方量的計算得以實現。Elena Ignatova 等使用C#代碼編輯器編寫宏,利用Revit 軟件開發的插件批量的提取和處理建筑信息模型數據并將數據傳輸到其他開發的程序,進而分析建筑物的參數。Mehrdad Mirshokraei 等將BIM 技術和AR 技術結合,實現了Web 與AR 的鏈接,增強了在BIM 模型中提取信息的效率,減少了返工,避免缺陷,改善和加快了決策速度。但目前Revit 二次開發的插件主要集中在參數化設計、某些設計階段開發應用、施工深化開發應用等個別案例,注重解決個別問題,沒有研究者去研究如何運用大眾的力量去推動BIM 技術的發展,償試將所有的插件集合起來,形成一個橋梁紐帶,讓每位開發者和使用者都能自由的上傳和下載插件。
目前用戶沒有一定的程序開發能力,想要解決具體的工作效率問題,就需要去網上尋找或者購買各類插件。但市場上面插件零散不一,功能各異,對于解決實際問題的作用并不太理想。一是適用性不足。以往的插件開發者主要針對具體項目來開發的插件,插件可變化性較小,并不能解決普遍性存在的問題。二是插件參數化設置不足。插件開發時考慮到設置參數界面比較復雜,并未考慮將參數直接顯示在用戶界面,而是選擇后臺修改代碼,這對普通用戶并不友好。三是開發規范性不足。插件開發人員,并不是以一定的開發標準來定義插件,而是根據具體項目和個人思路來開發設計。
一是系統集成化。以“模塊化”的形式組織插件,以“集約化”的模式組織開發者的力量,讓普通用戶從“插件平臺”中按需要自取,以新的模式,為普通用戶和開發者服務。二是用戶便捷化。普通用戶可以在插件平臺中,結合自己的需求,試用插件、收藏插件,并且可以為收藏的插件設置快捷鍵。整個過程和微信小程序類似,輕量快捷的服務普通用戶。三是開發簡潔化。開發者可以在插件平臺中,結合客戶的需求,開發、上架入駐插件平臺、更新維護插件、刪除插件僅在一個界面中,開發者可以管理好自己所有的插件,插件平臺的整個架構擬采用高端云服務器,為用戶提供輕量快捷的云端服務。
平臺全部采用阿里云服務。客戶端分為用戶和開發者兩大群里,兩大群體通過組織,或強或弱的聯系在一起。用戶在插件寶上可以使用插件、收藏插件、為插件設置快捷鍵。由開發者維護插件的全生命周期,包括發布、更新、刪除插件,設計總體框架如圖1所示,界面設計如圖2所示。

圖1 設計總體框架

圖2 平臺界面設計
開發環境可以使用Windows 系統,WIN7、WIN10 等,軟件版本可以使用Revit 2014-2021;Visual Studio 2017 以上的各版本均可,但Visual Studio 各版本略有不同;結合使用AddinManagar 和Revit Lookup,AddinManagar 主要用于測試開發的插件;Revit Lookup 主要用于查看Revit 元素的屬性;在“C:ProgramDataAutodeskRevitAddins2018”(版本不同操作不一樣),結合自己的安裝的Revit 版本,復制到對應的位置。進去后,會在Revit 的附加模塊菜單欄出現,外部工具以及“Revit Lookup”;調用RevitAPI 和RevitAPIUI,Revit 常用的二次開發接口庫
第一步,打開Visual Studio 2017,文件=>新建=>項目,Visual C#下Windows 桌面下修改類庫(.NET Framework)內容為ClassLibrary4。
第二步,添加引用,在鼠標右鍵“引用”,點擊“添加引用”,瀏覽添加RevitAPI 和RevitAPIUI
第三步,錄入通用核心代碼,通過改變代碼,來和Revit 交互操作;


第四步,點擊“生成”,創建Dll 文件,會在下方路徑中生成一個Dll 文件,手動復制這個路徑,在Revit 外部命令中使用“Add-In Manager(Manual Mode)”命令=>使用“Load”加載復制的Dlly 文件路徑,會解析得到Dll 文件中的外部命令=>選中其中一個命令,點擊“Run”=>彈出對話框,顯示你在程序中輸入的內容。
第五步,將自己開發的插件上傳至平臺使用;錄入必要信息,上傳。
為保護開發者的合法權益,平臺同時要考慮開放和保護的功能。在以下幾種情況下的作品將被視為盜版:一是插件安裝包的哈希值相同,認定為盜版。二是插件的命令類的類名相同,認定為盜版。三是在插件的代碼中加入和插件寶綁定的代碼,當它被移植其他地方,這個插件將無法使用。
插件平臺管理主界面與插件發布主界面的效果與具體功能說明如圖3、圖4所示。

圖3 插件平臺管理主界面

圖4 插件發布主界面
BIM 技術是建造業的新興計算機輔助設計技術,近來來得到了快速的發展,為未來建筑工業化、工業4.0、建筑精細化生產、數字存檔等提供有力的技術支撐,Autodesk 公司開發的Revit 是目前主流的建模軟件,在BIM 快速發展過程中,設計開發出現了效率低、耗時長、沖突和錯誤等問題,為解決這些具體問題,Revit 公司開放了API 接口,以便決更多具體實際的建模問題,但基于API 開發的插件傳播率低,導致許多不必要的重復開發和浪費,創建一個統一的平臺是亟待解決的問題,本文提供了平臺二次開發的思路,并做了具體的設計,提供部分代碼,以及防止盜版的解決方案等,為后續平臺開發提供強有力的基礎支撐。