摘 要:本文主要基于Bently的OpenBuildings Designer SDK 軟件開發(fā)工具包,在Visual Studio 2019 Community 開發(fā)平臺上以出圖輔助工具為目標(biāo)使用c#和c++混合編程定制開發(fā)了一套上海院自主知識產(chǎn)權(quán)的出圖輔助工具,以水利水電工程專業(yè)出圖工具為開發(fā)對象,分別編寫各功能模塊的參數(shù)界面,輸入?yún)?shù)數(shù)值,直接生成相應(yīng)的標(biāo)注、符號、圖框,提高設(shè)計(jì)人員工作效率和準(zhǔn)確率,對圖紙標(biāo)注的規(guī)范化、標(biāo)準(zhǔn)化設(shè)計(jì)都具有重要的應(yīng)有價(jià)值,增強(qiáng)BIM模型圖冊應(yīng)用的便利性。
關(guān)鍵詞:混合編程;出圖輔助工具;BIM模型
建筑信息模型Building Information Modeling( BIM) 是指在建設(shè)工程及設(shè)施全生命周期內(nèi),對其物理和功能特性進(jìn)行數(shù)字化表達(dá),并依此設(shè)計(jì)、施工、運(yùn)營的過程和結(jié)果的總稱。在數(shù)字化設(shè)計(jì)手段日漸成熟的今天,BIM 技術(shù)的應(yīng)用已經(jīng)覆蓋工程設(shè)計(jì)的諸多行業(yè),并逐漸由設(shè)計(jì)向上、下游延展,包括規(guī)劃階段、施工階段、運(yùn)行管理階段等,數(shù)字化的全生命周期應(yīng)用已經(jīng)變?yōu)楝F(xiàn)實(shí)[1]。為降低BIM技術(shù)應(yīng)用難度,提高設(shè)計(jì)效率,根據(jù)我院以水利水電工程專業(yè)為主的特點(diǎn),我們針對Bentley 的OpenBuildings Designer CONNECT Edition(OBD)平臺進(jìn)行二次開發(fā),研發(fā)出適合我院設(shè)計(jì)人員使用的出圖輔助工具。
1. OBD二次開發(fā)技術(shù)介紹
OBD為用戶主要提供了兩種開發(fā)方式:一種是基于C/C++NativeCode開發(fā)的MDL模式[2],MDL是以C/C++為基礎(chǔ)的結(jié)構(gòu)化編程語言,具有自己的運(yùn)行時(shí)間庫、編譯程序、鏈接程序、庫管理程序。MDL可以直接在OBD中運(yùn)行并且表現(xiàn)為OBD本身的一部分,程序運(yùn)行效率較高,但入門困難。另一種是通過Addins方式開發(fā)應(yīng)用程序[3],Addins是一種基于.NET平臺的全新的開發(fā)方式,使用C#、VB.NET等語言編程,通過編譯生成dll文件與OBD建立聯(lián)系.該方式的優(yōu)點(diǎn)是可以使用豐富的WinForm和WPF資源設(shè)計(jì)出美觀實(shí)用的界面,能夠方便地同.NET平臺的其他軟件集成.但是相對于MDL,Addins編譯生成的程序運(yùn)行在OBD程序的外部,對模型元素的操作速度較慢。本文結(jié)合兩種方式的優(yōu)點(diǎn)[4],采用c#和c++混合編程,業(yè)務(wù)處理層采用c++編寫完成,前端界面使用c#編程實(shí)現(xiàn)。
2.出圖輔助工具功能
出圖輔助工具包括三個(gè)部分:標(biāo)注、符號、圖框。標(biāo)注包含自動標(biāo)注、常規(guī)標(biāo)注、坡度標(biāo)注、樁號標(biāo)注、水位標(biāo)注;符號包含指北針、比例尺、水流符號;圖框包含插入圖框和圖框管理兩個(gè)部分,其中圖框管理又包括圖框替換、修改屬性、批量修改,功能結(jié)構(gòu)圖如圖1所示,出圖工具軟件界面如圖1所示。
3.應(yīng)用展示
本文所開發(fā)的出圖輔助工具在院內(nèi)已經(jīng)開始廣泛使用,有效的提高了設(shè)計(jì)者的工作效率,下面對出圖輔助工具的主要功能做詳細(xì)介紹:
水位標(biāo)注分為特征水位標(biāo)注和一般水位標(biāo)注,特征水位標(biāo)注包括校核洪水位、設(shè)計(jì)洪水位、正常蓄水位、防洪限制水位、死水位等標(biāo)注,用戶只需輸入水位值即可自動進(jìn)行標(biāo)注,一般水位標(biāo)注(用戶自定義水位標(biāo)注)可以進(jìn)行除上述水位以外的其他水位標(biāo)注,采用模態(tài)對話框進(jìn)行交互式標(biāo)注,用戶可根據(jù)需要填寫文字或數(shù)字,保留的小數(shù)位也由用戶控制,各水位相互關(guān)聯(lián),整體移動時(shí)關(guān)聯(lián)水位同時(shí)變動。
樁號標(biāo)注:在水工建筑物中,對河道、渠道、隧洞、大壩等長形的建筑物,沿軸線的長度用“樁號”的方法標(biāo)注水平尺寸,標(biāo)注形式為:km±m(xù),km為公里數(shù),m為米數(shù)。例如:“0+043”表示該點(diǎn)距起點(diǎn)之后43米的樁號,“0-500”表示該點(diǎn)在起點(diǎn)之前500m。0+000為起點(diǎn)樁號。樁號數(shù)字一般垂直于軸線方向注寫,且標(biāo)注在軸線的同一側(cè),當(dāng)軸線為折線時(shí),轉(zhuǎn)折點(diǎn)處的樁號數(shù)字應(yīng)重復(fù)標(biāo)注。當(dāng)同一圖中幾種建筑物均采用“樁號”標(biāo)注時(shí),可在樁號數(shù)字之前加注文字以示區(qū)別,一般較常用的是用專業(yè)名字或者結(jié)構(gòu)部位來區(qū)分樁號,如壩工、閘、壩左、壩右等標(biāo)示。
坡度標(biāo)注:在工程制圖中,為了正確顯示圖形高程變化,對某些斜坡進(jìn)行標(biāo)注坡度。通常把坡面的鉛直高度h和水平寬度l的比叫做坡度,坡度主要包含平面坡度、緩坡坡度和斜坡坡度。坡度有幾種常用的表現(xiàn)形式,一般平面坡度需聯(lián)合示坡線標(biāo)示,緩坡一般用百分比標(biāo)示,一般斜坡用“1:XX”表示,本文主要實(shí)現(xiàn)斜坡標(biāo)注。
指北針:依據(jù)《水利水電工程制圖標(biāo)準(zhǔn)基礎(chǔ)制圖》,定制相應(yīng)的單元[5], 參數(shù)化構(gòu)建指北針,如角度設(shè)置為60°,放置指北針。
水流符號:在水工圖中一般應(yīng)用水流方向符號注明水流方向。為了區(qū)分河流的左右岸,制圖標(biāo)準(zhǔn)規(guī)定:視向順?biāo)鞣较颍嫦蛳掠危筮厼樽蟀?,右邊為右岸?/p>
比例尺:對有縮放要求的圖紙,應(yīng)加繪比例尺圖形標(biāo)注,比例尺圖形如下所示繪制。標(biāo)注比例時(shí),按圖形實(shí)際比例來選擇放置不同比例的比例尺。
4.結(jié)論
(1)面向水利水電工程領(lǐng)域,基于OBD平臺二次開發(fā)出圖輔助工具,實(shí)現(xiàn)了圖紙的快速標(biāo)注,添加常用符號,插入圖框和圖框管理功能,在設(shè)計(jì)工作中取得了很好的應(yīng)用價(jià)值,推動設(shè)計(jì)院的數(shù)字化轉(zhuǎn)型。
(2)隨著我國BIM技術(shù)的推廣和普及,為滿足水利工程行業(yè)發(fā)展需求,該技術(shù)在水利水電專業(yè)中應(yīng)用的重要性日益凸顯,后續(xù)將進(jìn)一步開展BIM技術(shù)在該領(lǐng)域的開發(fā)及應(yīng)用探索,以期挖掘模型數(shù)據(jù)更多的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]王帥,崔峰,陳證鋼,張麗媛.基于BIM的水運(yùn)工程地質(zhì)三維設(shè)計(jì)系統(tǒng)開發(fā)與應(yīng)用[J/OL].水運(yùn)工程:1-7[2021-06-18].https://doi.org/10.16233/j.cnki.issn1002-4972.20210602.002.
[2]肖劍平.VC++環(huán)境下運(yùn)用MDL進(jìn)行Microstation二次開發(fā)的剖析[J].工程勘察,2006(02):57-60.
[3]黃琦茗,仇文革,萬世付,趙海霖,段東亞.基于MicroStation的隧道帽檐斜切式洞門參數(shù)化建模研究[J].隧道建設(shè)(中英文),2020,40(11):1602-1606.
[4]孫斌.基于MicroStation二次開發(fā)的平原水閘參數(shù)化設(shè)計(jì)[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,38(05):103-106.
[5]劉胤欣,劉寶軒.BIM技術(shù)在鐵路配電所設(shè)計(jì)優(yōu)化中的應(yīng)用[J].自動化應(yīng)用,2021(01):167-169.
作者簡介:
林偉(1992-),男,漢,安徽滁州人,上??睖y設(shè)計(jì)研究院有限公司,助理工程師,研究方向BIM+GIS二次開發(fā)。