• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Revit二次開發(fā)的水利工程BIM正向設(shè)計研究

      2022-04-16 10:47:54牛立軍梁燕迪王程
      人民黃河 2022年3期
      關(guān)鍵詞:二次開發(fā)

      牛立軍 梁燕迪 王程

      關(guān)鍵詞:BIM正向設(shè)計;二次開發(fā);RevitAPI;MVC;參數(shù)化建模

      中圖分類號:TV222 文獻(xiàn)標(biāo)志碼:A doi:10.3969/j.issn.1000-1379.2022.03.030

      引用格式:牛立軍,梁燕迪,王程.基于Revit二次開發(fā)的水利工程BIM正向設(shè)計研究[J].人民黃河,2022,44(3):155-159.

      傳統(tǒng)二維設(shè)計模式存在信息共享效率低、各專業(yè)間設(shè)計信息交流不暢等弊端,直接導(dǎo)致二維設(shè)計出圖算量復(fù)雜、方案比選困難[1],因此有學(xué)者提出依托BIM技術(shù)實現(xiàn)正向設(shè)計,克服傳統(tǒng)二維設(shè)計的缺點[2-3]。BIM正向設(shè)計是建立BIM三維模型,一模多用,完成從方案設(shè)計到施工圖設(shè)計的全過程[4]。BIM技術(shù)在北美、北歐等采用較多,發(fā)展成熟,已經(jīng)成為能夠帶來積極投資回報的技術(shù)。在國內(nèi),BIM正向設(shè)計模式投資大、見效慢,應(yīng)用范圍較小,且集中于建筑領(lǐng)域,在水利水電工程設(shè)計中的應(yīng)用還很少[5-6]。

      從技術(shù)層面考慮,BIM正向設(shè)計模式在水利設(shè)計行業(yè)推廣的瓶頸主要是正向設(shè)計工具不統(tǒng)一[7]。水利工程設(shè)計涉及專業(yè)多,過程復(fù)雜,目前市面上已有的BIM軟件不能完全滿足水利工程正向設(shè)計的需求[8]。羅凱等[9]通過水閘樣板設(shè)計,探索了BIM技術(shù)在水利工程正向設(shè)計中的應(yīng)用;龐瑞等[10]利用Catia和VisualFI對水利工程三維結(jié)構(gòu)體建模—配筋—二維出圖過程進(jìn)行了探索;武桂芝等[11]基于Revit二次開發(fā),完成了對農(nóng)田噴灌系統(tǒng)工程量的提取;朱致遠(yuǎn)等[12]基于RevitAPI對Revit進(jìn)行二次開發(fā),實現(xiàn)了對水閘擋土墻穩(wěn)定分析計算和計算結(jié)果實時判別。前人的研究促進(jìn)了BIM技術(shù)的應(yīng)用,為BIM正向設(shè)計奠定了基礎(chǔ)。

      筆者在前人研究的基礎(chǔ)上,通過分析水利工程BIM正向設(shè)計需求,綜合考慮正向設(shè)計的全過程任務(wù)和普適性,利用面向?qū)ο蟮木幊陶Z言和RevitAPI,采用MVC編程架構(gòu),形成基于Revit二次開發(fā)的水利工程BIM正向設(shè)計方法,以期促進(jìn)BIM正向設(shè)計在水利工程設(shè)計行業(yè)的廣泛應(yīng)用。

      1實現(xiàn)技術(shù)

      利用經(jīng)典MVC編程模式,基于Revit的應(yīng)用程序接口———RevitAPI對Revit進(jìn)行二次開發(fā),實現(xiàn)水利工程BIM正向設(shè)計。

      1.1RevitAPI功能擴展

      RevitAPI是Revit的應(yīng)用程序接口,提供了大量命名空間和豐富的函數(shù),給Revit的二次開發(fā)功能定制提供支持,使得不同地區(qū)、不同行業(yè)用戶可以根據(jù)自身需求開發(fā)Revit插件,擴展、豐富Revit的功能[13]。

      Revit本身的自有命令主要是針對房屋建筑設(shè)計,應(yīng)用于水利行業(yè)時可利用RevitAPI添加水利工程需要的水工結(jié)構(gòu)計算、工程量統(tǒng)計、水利工程概預(yù)算等功能,實現(xiàn)水利工程正向設(shè)計。

      1.2MVC編程模式

      MVC(Model?View?Controller)編程模式將程序模型(Model)、視圖(View)和控制器(Controller)分離開來,實現(xiàn)了程序功能模塊化[14],便于開發(fā)過程中對出圖、統(tǒng)計工程量、結(jié)構(gòu)計算、概預(yù)算各個模塊的調(diào)試。應(yīng)用于水利工程正向設(shè)計的MVC編程模式如圖1所示,可見正向設(shè)計區(qū)別于“逆向設(shè)計”之處在于先假設(shè)、后計算判斷。假定建筑物尺寸后,控制器獲取設(shè)計人員假定的數(shù)據(jù),代入模型中進(jìn)行計算,判斷計算結(jié)果的安全和經(jīng)濟合理性,若滿足規(guī)范且經(jīng)濟合理,則導(dǎo)出相應(yīng)設(shè)計成果,若不滿足規(guī)范或經(jīng)濟不合理,則重新假定參數(shù)。

      2實現(xiàn)方法和原理

      正向設(shè)計的實現(xiàn)思想主要是:針對一類水工建筑物創(chuàng)建參數(shù)化三維模型,以三維模型為基礎(chǔ),通過編譯代碼形成Revit插件,實現(xiàn)對三維模型參數(shù)的控制,達(dá)到三維可視化、交互式設(shè)計;在此基礎(chǔ)上訪問模型參數(shù)數(shù)據(jù),根據(jù)插件中的結(jié)構(gòu)計算算法原理和概預(yù)算編制規(guī)程處理數(shù)據(jù),實現(xiàn)設(shè)計成果(計算書、圖紙、概預(yù)算等)的判斷和輸出。

      2.1需求分析

      水利工程BIM正向設(shè)計程序中的需求主要指功能需求:①建立水工建筑物構(gòu)件參數(shù)化三維模型庫(在Revit中稱為族庫);②輸入尺寸參數(shù),模型與參數(shù)聯(lián)動,滿足可視化交互式設(shè)計需求;③輸入高程、開挖坡度等,輸出建筑物設(shè)計圖紙(三維模型的三視圖投影和剖面);④按照規(guī)范公式輸入相應(yīng)的數(shù)據(jù),采用插件進(jìn)行結(jié)構(gòu)計算后輸出計算結(jié)果,導(dǎo)出計算書;⑤輸入鋼筋直徑,通過配筋計算程序插件計算受力筋截面面積,同時算出鋼筋根數(shù)和間距,調(diào)用Revit的鋼筋繪制方法自動繪制鋼筋三維圖,并在剖面標(biāo)注點筋和線筋,實現(xiàn)自動配筋,導(dǎo)出配筋圖紙和鋼筋表;⑥通過插件自動統(tǒng)計三維模型的體積和鋼筋的體積,乘以相應(yīng)的容重作為工程量,其中土方開挖和回填工程量通過輸入構(gòu)件的尺寸和開挖坡度算出,選取概預(yù)算定額后,導(dǎo)出投資概算。

      根據(jù)功能需求,以BIM三維模型為基礎(chǔ),根據(jù)用戶輸入的指令或數(shù)據(jù),經(jīng)程序處理后輸出相應(yīng)數(shù)據(jù),確定水利工程BIM正向設(shè)計業(yè)務(wù)流程。

      2.2Revit參數(shù)化建模

      二次開發(fā)中為實現(xiàn)Revit文檔的便捷訪問操作,選用了靈活性強、可操作性強的可載入族來創(chuàng)建族樣板文件。在Revit中通過拉伸、放樣、融合、旋轉(zhuǎn)和放樣融合等方式創(chuàng)建族;定義族參數(shù),對族參數(shù)進(jìn)行測試直至達(dá)到模型與參數(shù)聯(lián)動效果。族參數(shù)定義的合理與否直接影響樣板文件的靈活性,因此在定義參數(shù)時應(yīng)處理好約束之間的關(guān)系,最大限度地給予模型靈活性,使得可通過參數(shù)調(diào)整,實現(xiàn)對設(shè)計的優(yōu)化創(chuàng)新[15-16]。

      2.3開發(fā)環(huán)境搭建

      代碼編譯前首先搭建開發(fā)環(huán)境,添加引用Revit API.dll和Revit APIUI.dll,添加命名空間;然后設(shè)置控制命令的更新模式和事務(wù)模式,從IExternal Command或IExternal Application派生類,重載相應(yīng)函數(shù),在函數(shù)接口中編寫代碼。

      2.4視圖設(shè)計

      視圖(View)即表現(xiàn)層,作為輸出數(shù)據(jù)并允許用戶操作的方式,僅為設(shè)計人員提供二次開發(fā)程序的訪問。為順利控制Revit中模型元素,反映模型隨參數(shù)輸入實時變化,顯示設(shè)計成果,除正向設(shè)計窗口外,Revit中的模型三維視圖、Excel工作簿(鋼筋表)、Word文檔(計算書和概預(yù)算)均為表現(xiàn)層的組成部分,因此正向設(shè)計人機交互窗口應(yīng)選用模態(tài)型窗體,成果形成后自動彈出。表現(xiàn)層設(shè)計時應(yīng)以一致性、準(zhǔn)確性、布局合理化、操作合理性等為原則,簡化一切與顯示界面無關(guān)的要素。

      2.5控制器編寫

      控制器(Controller)即控制層,在控制層中處理消息通信、關(guān)聯(lián)關(guān)系、事件等內(nèi)容,供業(yè)務(wù)模塊訪問,決定輸出的視圖,以響應(yīng)用戶請求。開發(fā)環(huán)境搭建完畢后,在重載函數(shù)的接口中編寫控制層代碼,實現(xiàn)把用戶輸入的指令和數(shù)據(jù)傳遞給業(yè)務(wù)模型,為模型中的每一種功能提供控制器,選擇視圖作為用戶指令的反饋。

      2.6模型編寫

      模型(Model)即程序業(yè)務(wù)邏輯,作為邏輯最復(fù)雜的部分,它對應(yīng)于數(shù)據(jù)表示和內(nèi)部數(shù)據(jù)處理。在正向設(shè)計的模型編寫中,結(jié)構(gòu)計算、配置鋼筋、統(tǒng)計工程量技術(shù)的實現(xiàn)對本文所述方法的可行與否至關(guān)重要,詳述如下。

      2.6.1結(jié)構(gòu)計算

      結(jié)構(gòu)計算是水工建筑物設(shè)計的重要部分,對建筑物各部位的截面尺寸及配筋量的確定起決定作用,有關(guān)荷載與內(nèi)力計算的原則及混凝土結(jié)構(gòu)的計算方法均嚴(yán)格依照《水工混凝土結(jié)構(gòu)設(shè)計規(guī)范》(SL191—2008)[17]。以落地槽設(shè)計為例,落地槽的計算項目是側(cè)墻底部截面和底板截面的厚度。其主要外部荷載為側(cè)墻外的土壓力和地下水壓力,其次是自重和槽內(nèi)水壓力。根據(jù)荷載計算結(jié)果計算出兩個截面的內(nèi)力(彎矩),從而最終輸出其厚度[18]。當(dāng)設(shè)計人員按照輸出的結(jié)果選定不同的厚度尺寸時,即刻反映到三維視圖,落地槽隨之變化,墊層、土方開挖、土方回填等均隨之變化,事先生成的圖紙(落地槽的三視圖投影和橫斷面,包括標(biāo)注的尺寸)也隨之變化。

      2.6.2配置鋼筋

      在三維模型剖面中預(yù)置特定形狀的鋼筋,在代碼的事務(wù)中激活該配筋剖面,創(chuàng)建收集器形成元素集合,篩選出鋼筋元素的ID、鋼筋編號、鋼筋形狀編號、鋼筋種類等參數(shù)。根據(jù)設(shè)計人員輸入的環(huán)境類別確定鋼筋保護(hù)層厚度、鋼筋種類,根據(jù)設(shè)計人員輸入的鋼筋直徑,經(jīng)程序計算后得出鋼筋根數(shù)、間距;利用Revit提供的陣列方法對鋼筋創(chuàng)建線型陣列,針對不同部位的鋼筋分別采用相應(yīng)的陣列方向,實現(xiàn)鋼筋配置。

      2.6.3統(tǒng)計工程量

      在本文討論的方法中有兩個位置統(tǒng)計了工程量,一是圖紙中的工程量表,二是用于概預(yù)算的工程量。圖紙中工程量表的形成主要依托Revit明細(xì)表視圖,具體實現(xiàn)方法為:新建明細(xì)表視圖—添加明細(xì)表字段—勾選“逐項列舉每個實例”;通過代碼找到該視圖,使用GetSectionData獲取明細(xì)表的數(shù)據(jù)體部分,顯示于圖紙中。用于概預(yù)算的工程量統(tǒng)計主要利用Revit中默認(rèn)的模型體積參數(shù),通過獲取該項參數(shù),便可精確確定澆筑混凝土量、土方開挖回填量等;在概預(yù)算界面不同工程名稱分別套用相應(yīng)的定額,實現(xiàn)造價計算。其中土方開挖回填量為場地平整后的工程量,Revit本身有場地平整功能,地形圖導(dǎo)入后形成地形表面,利用場地平整命令可得出場地平整的挖填方,加上場地平整后的工程量即為開挖和回填土方量。

      2.7調(diào)試

      在編程軟件中編譯代碼,編譯成功后形成dll文件,針對dll文件創(chuàng)建后綴為addin的格式文件,實現(xiàn)插件的注冊。啟動Revit運行程序,插件會加載到Revit,檢驗程序是否滿足功能需求。若編譯失敗或功能不滿足需求,則在表現(xiàn)層、控制層、業(yè)務(wù)層完善代碼,直至滿足功能需求為止。

      3落地槽正向設(shè)計實例驗證

      落地槽(也稱流槽)是一種典型渠道護(hù)砌型式,可采用素混凝土結(jié)構(gòu)或鋼筋混凝土結(jié)構(gòu)。落地槽與常見的梯形渠道相比有占地少、便橋布置簡單、管理維護(hù)需求小等優(yōu)勢。落地槽設(shè)計的關(guān)鍵是采用經(jīng)濟合理的結(jié)構(gòu)尺寸和較小的配筋率。因此,應(yīng)用BIM正向設(shè)計模式,同時展現(xiàn)技術(shù)指標(biāo)和經(jīng)濟指標(biāo),可方便地進(jìn)行多方案比選,以確定滿足結(jié)構(gòu)受力且經(jīng)濟合理的設(shè)計方案。

      3.1功能需求分析

      參照2.1節(jié)功能需求分析,確定落地槽BIM正向設(shè)計業(yè)務(wù)流程,如圖2所示。

      3.2參數(shù)化建模

      在Revit中選擇族樣板文件,采用拉伸和嵌套的方式創(chuàng)建落地槽三維模型。模型中主要包括槽深、槽內(nèi)水、地下水、原土層、回填土五部分,給各部分添加材質(zhì)屬性,真實狀態(tài)的落地槽模型三維視圖如圖3所示。為賦予落地槽模型最大的靈活性,定義尺寸參數(shù),并通過參數(shù)改動測試確定參數(shù)。

      3.3代碼實現(xiàn)

      選擇Visual Studio作為開發(fā)平臺、C#作為編程語言。開發(fā)環(huán)境配置后,采用Winform界面開發(fā)模式,利用TabControl、GroupBox、Lable、TextBox等控件實現(xiàn)輸出設(shè)計,利用Button、TextBox、RadioButton等控件或?qū)雝xt格式文件進(jìn)行輸入設(shè)計。

      為在Revit面板中創(chuàng)建按鈕,選擇控制命令的事務(wù)和更新模式為ExternalApplication,新建類庫文件,從IExternalApplication接口派生,重載Onstartup()和On?Shutdown()函數(shù),添加PushButton主程序,即控制層代碼。

      為新建項目、打開項目、修改參數(shù)、生成圖紙、結(jié)構(gòu)計算、配置鋼筋、鋼筋標(biāo)注、工程單價、概預(yù)算等功能模塊分別創(chuàng)建類文件,即業(yè)務(wù)層,以供控制層選擇調(diào)用。

      代碼編譯成功后生成dll文件,創(chuàng)建后綴為addin的文件實現(xiàn)程序的注冊。在Revit中啟動程序,如圖4所示,參照2.7節(jié)檢驗其是否滿足功能需求。

      經(jīng)檢驗,落地槽BIM正向設(shè)計程序可以滿足2.1節(jié)所述功能需求,由該程序生成的設(shè)計圖紙、配筋圖紙如圖5、圖6所示。

      4結(jié)語

      提出了基于Revit二次開發(fā)的水利工程正向設(shè)計實現(xiàn)方法,從功能需求出發(fā),綜合考慮正向設(shè)計全過程任務(wù),真正實現(xiàn)了一模多用。通過落地槽BIM正向設(shè)計實例,驗證了該方法的可行性和高效性。

      【責(zé)任編輯 張華巖】

      猜你喜歡
      二次開發(fā)
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      西門子Operate高級編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      Micaps3.2 版本二次開發(fā)入門淺析
      西藏科技(2015年12期)2015-09-26 12:13:51
      ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
      汽車零部件(2014年5期)2014-11-11 12:24:32
      基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
      北流市| 徐水县| 舟山市| 开平市| 荥经县| 新绛县| 呼伦贝尔市| 花莲市| 从江县| 拉萨市| 孙吴县| 赫章县| 广南县| 平果县| 龙州县| 肃宁县| 南乐县| 西安市| 武川县| 泰和县| 贵港市| 杭锦后旗| 庄河市| 阿尔山市| 进贤县| 陕西省| 冷水江市| 乐东| 桑日县| 乐安县| 罗江县| 兖州市| 林周县| 平罗县| 昭平县| 桦川县| 闸北区| 保亭| 临江市| 沅陵县| 邵东县|