牛立軍,李藝豪
(華北水利水電大學(xué)水利學(xué)院,河南 鄭州 450000)
Autodesk Revit作為實(shí)現(xiàn)BIM技術(shù)的核心軟件[1]。因其可視化程度高、交互能力強(qiáng)等特點(diǎn),被廣泛應(yīng)用于水利工程的設(shè)計(jì)、施工等階段[2]。由于自身缺乏滲流計(jì)算模塊,導(dǎo)致無(wú)法滿足水閘正向設(shè)計(jì)的要求。傳統(tǒng)的滲流計(jì)算大多利用Excel表格、理正、AutoStable等軟件輔助計(jì)算,其可視化程度低,不能滿足模型參數(shù)與計(jì)算參數(shù)的相互聯(lián)動(dòng),計(jì)算結(jié)果不能即時(shí)反映到防滲措施(如鋪蓋)的設(shè)計(jì)中。通過(guò)Visual Studio平臺(tái)利用C#語(yǔ)言實(shí)現(xiàn)與Revit API接口的貫通,實(shí)現(xiàn)對(duì)Revit的二次開(kāi)發(fā),為上述現(xiàn)存問(wèn)題提供了新的解決思路[3-5]。
國(guó)內(nèi)基于Revit的二次開(kāi)發(fā)多數(shù)應(yīng)用于工民建專(zhuān)業(yè),在水利工程中的應(yīng)用有待深入研究[6-9]。王玄玄等[10]結(jié)合二次開(kāi)發(fā)的相關(guān)技術(shù)實(shí)現(xiàn)了Revit與Abaqus模型轉(zhuǎn)換接口的貫通,提高了處理復(fù)雜結(jié)構(gòu)建模和進(jìn)行相關(guān)應(yīng)力分析的效率。朱致遠(yuǎn)等[11]利用二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn)了擋土墻的穩(wěn)定計(jì)算,并應(yīng)用實(shí)例取得了良好的效果,彌補(bǔ)了Revit平臺(tái)擋土墻穩(wěn)定計(jì)算的缺失。姜楠等[12]基于BIM平臺(tái)利用VB技術(shù)進(jìn)行二次開(kāi)發(fā),初步實(shí)現(xiàn)了三維模型與信息模型在施工階段的應(yīng)用,彌補(bǔ)了BIM技術(shù)在施工階段應(yīng)用的缺失。前人的研究為BIM技術(shù)在水利行業(yè)的深度應(yīng)用提供了重要的參考價(jià)值,但BIM技術(shù)在水閘滲流計(jì)算中的應(yīng)用仍是短板。
針對(duì)現(xiàn)有研究不足,本文利用C#語(yǔ)言將傳統(tǒng)的滲流算法(改進(jìn)阻力系數(shù)法)通過(guò)Revit API接口與事先繪制好的水閘BIM模型掛接,實(shí)現(xiàn)了對(duì)水閘模型參數(shù)的獲取、修改以及可視化的滲流計(jì)算過(guò)程和結(jié)果到模型的實(shí)時(shí)反應(yīng)。
主要介紹了滲流計(jì)算插件的具體開(kāi)發(fā)思路和難點(diǎn),以及通過(guò)C#語(yǔ)言進(jìn)行的模型信息交互模塊和計(jì)算分析模塊的代碼編譯,實(shí)現(xiàn)了水閘滲流計(jì)算全過(guò)程可視化交互式操作。
水閘滲流計(jì)算插件的開(kāi)發(fā)基于.NET框架,采用C#語(yǔ)言,平臺(tái)設(shè)計(jì)主要包含模型信息交互模塊和滲流計(jì)算分析模塊,開(kāi)發(fā)思路見(jiàn)圖1。
圖1 二次開(kāi)發(fā)技術(shù)路線
主要步驟如下:①搭建編程環(huán)境(在Visual Studio中添加Revit API接口引用);②核心模塊,通過(guò)新建類(lèi)從IExternalApplication(外部應(yīng)用)進(jìn)行模型信息交互模塊和滲流計(jì)算分析模塊的代碼編寫(xiě),主要實(shí)現(xiàn)了針對(duì)模型的元素獲取、參數(shù)的讀寫(xiě)、滲流計(jì)算分析功能;③功能測(cè)試,針對(duì)以上實(shí)現(xiàn)功能進(jìn)行逐一測(cè)試,若測(cè)試成功則“是”,結(jié)束編程工作,若出現(xiàn)問(wèn)題則“否”,重新進(jìn)入核心模塊調(diào)試代碼直至成功。
實(shí)現(xiàn)可視化模型信息交互的主要步驟:①通過(guò)IExternalCommand(外部命令)接口實(shí)現(xiàn),執(zhí)行Transaction命令找到模型文件夾位置,利用GetElement和LookupParameter函數(shù)命令分別實(shí)現(xiàn)模型ID號(hào)和模型參數(shù)的獲取,實(shí)現(xiàn)模型與插件的綁定;②通過(guò)創(chuàng)建Form窗口,分別利用TabControl、GroupBox和TextBox等控件完成模型信息交互界面的設(shè)置,架構(gòu)設(shè)計(jì)見(jiàn)圖2;③通過(guò)執(zhí)行Execute命令利用TextBox控件將模型多個(gè)參數(shù)與插件實(shí)現(xiàn)雙向綁定,從而實(shí)現(xiàn)了TextBox控件中數(shù)值變模型即時(shí)改變,達(dá)到了人機(jī)交互的效果。
圖2 可視化模型信息窗體構(gòu)架設(shè)計(jì)
1.3.1實(shí)現(xiàn)方法
計(jì)算分析模塊是滲流計(jì)算插件實(shí)現(xiàn)的核心功能,根據(jù)規(guī)范[13]可知水閘滲流計(jì)算的方法有流網(wǎng)法和改進(jìn)阻力系數(shù)法。本文中所利用的計(jì)算方法是改進(jìn)阻力系數(shù)法[14],該方法將水閘模型簡(jiǎn)化分為進(jìn)出口段、內(nèi)部垂直段、內(nèi)部水平段,見(jiàn)圖3,然后通過(guò)式(1)—(3)計(jì)算其各分段的阻力系數(shù)(ξi),通過(guò)各段的阻力系數(shù)確定各分段的水頭損失(hi)以及出口段的滲透坡降(J0)與規(guī)范對(duì)應(yīng)的規(guī)定值進(jìn)行對(duì)比判斷。利用C#語(yǔ)言將上述方法計(jì)算流程進(jìn)行模塊封裝,完成阻力系數(shù)、滲透壓力、滲透坡降和結(jié)果分析等計(jì)算方法的代碼編譯。
圖3 分段基本形式
(1)
(2)
(3)
式中ξ0、ξy、ξx——進(jìn)出口段、內(nèi)部垂直段、內(nèi)部水平段的阻力系數(shù);S、S1、S2——進(jìn)、出口段板樁或齒墻入土深度,m;T——地基的透水深度,m;Lx——水平段長(zhǎng)度,m。
1.3.2實(shí)現(xiàn)功能
計(jì)算在不同水位參數(shù)、不同地基類(lèi)別下的阻力系數(shù)、滲透壓力及滲透坡降對(duì)照規(guī)范允許值。在代碼編譯中利用C#語(yǔ)言的判斷語(yǔ)句設(shè)置對(duì)應(yīng)參數(shù)的閾值,并將計(jì)算結(jié)果的TextBox控件與BackColor屬性進(jìn)行綁定,當(dāng)計(jì)算結(jié)果不滿足閾值要求,TextBox控件顏色將發(fā)生改變,效果見(jiàn)圖4,實(shí)現(xiàn)了在多種防滲設(shè)計(jì)方案下的結(jié)果快速計(jì)算和即時(shí)判別的功能[15]。
圖4 計(jì)算結(jié)果分析
本部分以某節(jié)制閘為例,將模板模型導(dǎo)入插件中分別進(jìn)行2種設(shè)計(jì)方案下滲流計(jì)算:方案一,僅設(shè)置水平防滲設(shè);方案二,水平防滲設(shè)施與垂直防滲設(shè)施相結(jié)合。并將同樣的數(shù)據(jù)導(dǎo)入AutoBank軟件驗(yàn)證插件的可靠性。
通過(guò)AutoRevit軟件建立水閘工程參數(shù)化三維模型步驟如下:①首先通過(guò)新建公制常規(guī)模型創(chuàng)建水閘工程的各個(gè)參數(shù)化族文件;②通過(guò)新建項(xiàng)目文件,將參數(shù)化族進(jìn)行組裝,形成三維水閘模型;③對(duì)組裝好的水閘模型設(shè)置其全局參數(shù)。成果見(jiàn)圖5。
圖5 參數(shù)化水閘模型
運(yùn)行插件并打開(kāi)創(chuàng)建的水閘模型,根據(jù)設(shè)計(jì)工程的實(shí)際情況在工程基本資料界面選擇不同水位參數(shù)及地基類(lèi)別、通過(guò)模型參數(shù)交互模塊調(diào)整模型對(duì)應(yīng)的參數(shù)值大小;打開(kāi)參數(shù)交互界面,其中計(jì)算參數(shù)和有效深度值可以通過(guò)模型直接讀取到TextBox控件中,也可以在TextBox控件中輸入修改值。方案一(水平防滲設(shè)計(jì)方案)見(jiàn)圖6、7,方案二(水平防滲和垂直防滲相結(jié)合設(shè)計(jì)方案)見(jiàn)圖8、9。
圖6 方案一工程基本資料界面(模型中紅色部分為防滲長(zhǎng)度)
圖7 方案一參數(shù)獲取界面
圖8 方案二工程基本資料界面(模型中紅色部分為防滲長(zhǎng)度)
圖9 方案二參數(shù)獲取界面
點(diǎn)擊參數(shù)交互界面下端的“計(jì)算”按鈕,得出各段的阻力系數(shù)值、水頭損失值、進(jìn)口段和出口段的水頭修正值以及滲流出口處的坡降。以正常蓄水位工況為例,2種設(shè)計(jì)方案的計(jì)算結(jié)果見(jiàn)圖10、11,TextBox控件底色并未發(fā)生改變,故得出計(jì)算結(jié)果滿足閾值要求。
圖10 方案一計(jì)算結(jié)果
圖11 方案二計(jì)算結(jié)果
因AutoBank軟件被廣泛應(yīng)用在水工建筑物的滲流計(jì)算中,故采用相同設(shè)計(jì)尺寸、水位條件、地基類(lèi)型,將參數(shù)添加到AutoBank軟件進(jìn)行計(jì)算得出結(jié)果,與滲流計(jì)算插件計(jì)算結(jié)果進(jìn)行對(duì)比具有一定的參考意義。以無(wú)板樁設(shè)計(jì)方案正常蓄水位工況下為例(表1),得出結(jié)論:插件與AutoBank軟件計(jì)算結(jié)果基本一致,說(shuō)明了插件計(jì)算的可靠性。
表1 計(jì)算結(jié)果對(duì)比
基于正向設(shè)計(jì)理念開(kāi)發(fā)了基于Revit二次開(kāi)發(fā)的水閘滲流計(jì)算插件,實(shí)現(xiàn)了滲流計(jì)算分析全過(guò)程可視化交互式操作,使計(jì)算結(jié)果直接反映到水閘防滲體的設(shè)計(jì)上,為水閘防滲設(shè)計(jì)提供了2種方案(水平方式、水平與垂直方式兩者兼有)。實(shí)時(shí)比較2種方案的防滲效果和尺寸設(shè)計(jì),取得以下3個(gè)成果:①利用TextBox控件將模型參數(shù)與插件實(shí)現(xiàn)貫通,達(dá)到TextBox控件數(shù)值改變,模型隨之改變,增強(qiáng)了模型的復(fù)用性;②通過(guò)創(chuàng)建窗口,將水閘設(shè)計(jì)的滲流計(jì)算、通過(guò)代碼進(jìn)行抽象封裝,實(shí)現(xiàn)了快速計(jì)算和結(jié)果的即時(shí)判別;③個(gè)性化設(shè)計(jì)方案創(chuàng)建,在防滲設(shè)計(jì)中考慮到多種防滲體的選擇,本插件可通過(guò)是否增設(shè)垂直防滲體來(lái)選擇設(shè)計(jì)方案,實(shí)現(xiàn)了即時(shí)的方案比選。
最后,通過(guò)實(shí)例驗(yàn)證取得了良好的實(shí)踐效果,有效避免了因?yàn)閿?shù)據(jù)模糊等原因造成的返工,提高了設(shè)計(jì)及復(fù)核效率,同時(shí)還滿足實(shí)際設(shè)計(jì)生產(chǎn)中方案比選的行業(yè)需要??紤]到水利工程類(lèi)型的多樣性和設(shè)計(jì)的復(fù)雜性,本文的研究對(duì)象僅限于水閘工程,未來(lái)可以進(jìn)行其他水利工程的相關(guān)計(jì)算插件研究。本文針對(duì)于水閘的滲流問(wèn)題的研究,在一定程度上可為BIM技術(shù)在水利行業(yè)的進(jìn)一步深化應(yīng)用提供技術(shù)參照。