999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

鐵路橋梁BIM程序的設(shè)計(jì)與實(shí)現(xiàn)

2019-07-03 01:11:28張興華
關(guān)鍵詞:程序橋梁模型

張興華

(中國(guó)鐵路設(shè)計(jì)集團(tuán)有限公司 橋梁工程設(shè)計(jì)研究院,天津 300142)

近年來(lái),隨著計(jì)算機(jī)3D建模技術(shù)的快速發(fā)展,基于建筑信息模型(BIM)概念的設(shè)計(jì)模式已經(jīng)在我國(guó)的鐵路設(shè)計(jì)建設(shè)領(lǐng)域進(jìn)行了實(shí)質(zhì)性應(yīng)用[1]。鐵路橋梁建設(shè)因?yàn)槠渥陨斫Y(jié)構(gòu)特點(diǎn),設(shè)計(jì)與施工對(duì)周邊地物信息準(zhǔn)確性的要求較高,而BIM恰好滿足了橋涵精細(xì)化設(shè)計(jì)與施工的相關(guān)要求。目前,國(guó)內(nèi)鐵路設(shè)計(jì)行業(yè)采用的軟件平臺(tái)多為引進(jìn)國(guó)外商業(yè)化平臺(tái),如revit、bently、達(dá)索等,在橋梁場(chǎng)景建模、施工仿真模擬,以及特殊橋梁?jiǎn)误w結(jié)構(gòu)的空間設(shè)計(jì)方面取得了良好效果[2-3]。

商業(yè)化平臺(tái)技術(shù)成熟、模型渲染美觀,特別是在空間幾何計(jì)算方面的優(yōu)勢(shì)非常突出,但同時(shí)也存在一些問(wèn)題:(1)專業(yè)性設(shè)計(jì)功能完全需要二次開發(fā);(2)不掌握核心代碼,無(wú)法修改其核心用戶界面(UI)以及固有的操作模式,為操作帶來(lái)不便;(3)純英文的開發(fā)接口程序庫(kù),為二次開發(fā)帶來(lái)極大困難。因此,如果僅僅是進(jìn)行三維仿真建模的話尚且可行,但如果要利用其開發(fā)長(zhǎng)大橋梁的正向設(shè)計(jì)功能,將無(wú)法繞開上述問(wèn)題,另外,商業(yè)化平臺(tái)的前期購(gòu)買以及后期升級(jí)維護(hù)成本較高。相反,如果自主開發(fā)橋梁BIM設(shè)計(jì)程序,因?yàn)樯婕暗娇臻g幾何計(jì)算、坐標(biāo)系統(tǒng)、劃網(wǎng)建模、3D渲染、長(zhǎng)大場(chǎng)景調(diào)度等前沿性技術(shù),在開發(fā)難度、開發(fā)成本、開發(fā)周期方面都有較大風(fēng)險(xiǎn)和阻力。但優(yōu)勢(shì)在于掌握核心代碼,其設(shè)計(jì)模式及顯示界面均可根據(jù)使用者需求量身定制,并且程序升級(jí)改造靈活、維護(hù)成本低。本文從OpenGL圖形渲染的底層功能著手,自主研發(fā)BIM建模平臺(tái),介紹一款兼具二維交互設(shè)計(jì)和三維顯示功能的鐵路橋梁BIM程序。并從鐵路橋梁設(shè)計(jì)的專業(yè)角度出發(fā),在程序的開發(fā)思路、設(shè)計(jì)模式比選,以及在視圖顯示的關(guān)鍵性技術(shù)方面做出探索。

1 程序設(shè)計(jì)模式

1.1 三維橋梁設(shè)計(jì)程序的特點(diǎn)

(1)在橋梁設(shè)計(jì)計(jì)算方面,需要結(jié)合梁縫計(jì)算、結(jié)構(gòu)計(jì)算等自身的專業(yè)性軟件,進(jìn)行協(xié)同設(shè)計(jì)。

(2)在圖形類型方面,橋梁工程相對(duì)于路基、站場(chǎng)等專業(yè),以及對(duì)空間曲面建模方面有更多需求。

(3)在建模方式方面,鐵路橋涵設(shè)計(jì)除了需要建立標(biāo)準(zhǔn)圖庫(kù)來(lái)滿足標(biāo)準(zhǔn)化結(jié)構(gòu)部件建模以外,橋址范圍內(nèi)的邊坡防護(hù)、涵洞順溝等,還需要根據(jù)設(shè)計(jì)參數(shù)及三維地形,進(jìn)行自動(dòng)化的自適應(yīng)性建模。

(4)特大型鐵路橋梁在國(guó)內(nèi)高速鐵路橋梁設(shè)計(jì)中非常普及,單座橋梁長(zhǎng)度突破幾百公里以上的情況已形成常態(tài),而橋梁孔跨布置是由精密計(jì)算而來(lái),對(duì)BIM中任意一處孔跨的更改,都將牽動(dòng)整座橋數(shù)百公里梁跨的重新設(shè)計(jì)和圖形重構(gòu)。因此,BIM設(shè)計(jì)程序不僅要求高性能的計(jì)算機(jī)硬件,對(duì)程序數(shù)據(jù)結(jié)構(gòu)的合理性及算法的高效性也都有較高要求。

1.2 二維、三維視圖并存的設(shè)計(jì)模式

目前,國(guó)內(nèi)鐵路項(xiàng)目采用的主要BIM設(shè)計(jì)平臺(tái),如:revit、bently、達(dá)索等,都是在純?nèi)S模式下開展設(shè)計(jì),顛覆性地取締了傳統(tǒng)二維設(shè)計(jì)方法,設(shè)計(jì)成果也為純?nèi)S鐵路模型,仿真程度高;但鐵路橋涵因其自身特點(diǎn),在設(shè)計(jì)過(guò)程中,對(duì)里程、高程、凈空、梁縫等外部數(shù)據(jù),以及梁、墩臺(tái)、基礎(chǔ)的結(jié)構(gòu)尺寸等內(nèi)部數(shù)據(jù)的依賴程度很高,純?nèi)S設(shè)計(jì)模式無(wú)法直接將這些數(shù)據(jù)展現(xiàn)在設(shè)計(jì)者眼前,設(shè)計(jì)者若想查看,必須先經(jīng)過(guò)三維成果向二維成果轉(zhuǎn)換或手動(dòng)調(diào)出數(shù)據(jù)窗口才可以得到上述數(shù)據(jù)。因此對(duì)于BIM橋梁設(shè)計(jì),不宜完全摒棄二維設(shè)計(jì)方法。BIM鐵路橋梁程序開發(fā)能夠兼?zhèn)淙S理念和傳統(tǒng)二維設(shè)計(jì)方法,同步生成二維設(shè)計(jì)成果以及進(jìn)行三維建模展示或成為更加合理的設(shè)計(jì)模式。

另外,從程序開發(fā)角度來(lái)講,BIM程序若能涵蓋二維設(shè)計(jì)模式,可以更方便地與傳統(tǒng)二維設(shè)計(jì)軟件進(jìn)行銜接,減少BIM程序開發(fā)工作量及開發(fā)難度。而且二維、三維結(jié)合的設(shè)計(jì)模式,也可以使設(shè)計(jì)人員在新型的BIM設(shè)計(jì)環(huán)境下,能夠利用自己熟悉的傳統(tǒng)設(shè)計(jì)思路來(lái)迅速適應(yīng)程序,從而提高程序應(yīng)用效率,否則純?nèi)S模式在鐵路橋梁勘察設(shè)計(jì)領(lǐng)域的推廣阻力和成本將會(huì)較大。本程序采用了二維視圖交互設(shè)計(jì),及三維視圖顯示的設(shè)計(jì)模式,如圖1所示。

圖1 程序主界面

2 程序框架

2.1 MVC框架模式概述

程序以C++ MFC為開發(fā)工具,以MVC框架模式開發(fā)基于OpenGL的二維、三維視圖顯示功能。模型-視圖-控制(MVC,Model-View-Controller)框架是圖形用戶界面(GUI,Graphic User Interface)程序的一種普遍的設(shè)計(jì)框架。采用MVC框架模式的優(yōu)勢(shì)是使得OpenGL渲染函數(shù)的調(diào)用從普遍的消息路由中完全脫離開來(lái)。

2.2 模型層

模型層是應(yīng)用程序的核心部分,所有應(yīng)用程序中的數(shù)據(jù)和定義應(yīng)用程序行為的實(shí)現(xiàn)都被包含在內(nèi)。最重要的是,任何指向視圖層和控制層功能都沒(méi)有被模型層引用,這意味著模型層是完全獨(dú)立的。它完全無(wú)須關(guān)心視圖層和控制層的行為,從而它只是簡(jiǎn)單地對(duì)視圖層和控制層的請(qǐng)求進(jìn)行加工操作。本程序中模型層負(fù)責(zé)全部的OpenGL頂點(diǎn)數(shù)據(jù)管理、頂點(diǎn)緩沖區(qū)對(duì)象(VBO,Vertex Buffer Object)繪圖和圖形更新。

2.3 視圖層

視圖層負(fù)責(zé)根據(jù)窗口設(shè)備環(huán)境創(chuàng)建渲染設(shè)備環(huán)境,最后將可視化的內(nèi)容渲染到屏幕之上。視圖層不含有指向控制層的引用(與控制層獨(dú)立)。只有當(dāng)控制層發(fā)送更新請(qǐng)求時(shí),它才會(huì)執(zhí)行渲染操作。然而,視圖層需要有指向模型層的引用,因?yàn)樗枰獜哪P蛯拥玫巾旤c(diǎn)、法向量、顏色等數(shù)據(jù),這樣才能將數(shù)據(jù)渲染到屏幕上。

2.4 控制層

控制層負(fù)責(zé)創(chuàng)建獨(dú)立渲染線程,并對(duì)用戶事件作出最直接的響應(yīng),它接受和處理所有的用戶在窗體或視口中的操作,如鼠標(biāo)和鍵盤輸入等。為了處理用戶事件,控制層需要訪問(wèn)具體的模型層組件和視圖層組件。控制層組件通知模型層處理數(shù)據(jù),同時(shí)告訴視圖層更新顯示的數(shù)據(jù)。另外,在本程序中,控制層還負(fù)責(zé)對(duì)用戶事件相關(guān)的圖元數(shù)據(jù),如點(diǎn)、線、面、文字等,向OpenGL渲染數(shù)據(jù)進(jìn)行轉(zhuǎn)換。

3 顯示功能關(guān)鍵技術(shù)

3.1 二維視圖開發(fā)

3.1.1 十字靶標(biāo)相對(duì)鼠標(biāo)的同步定位

交互式設(shè)計(jì)視圖開發(fā)中,如何將鼠標(biāo)在屏幕窗體中的像素坐標(biāo)(V)轉(zhuǎn)換為視圖中的世界坐標(biāo)(W),是開發(fā)圖形定位、圖形選擇的前提。轉(zhuǎn)換公式的關(guān)鍵為計(jì)算窗體尺寸與視口所代表的世界坐標(biāo)尺寸的比例vscale,當(dāng)渲染視口與窗體邊緣完全重合時(shí),當(dāng)前鼠標(biāo)所在的視圖世界坐標(biāo)計(jì)算公式為:V = W ·vscale,當(dāng)視口與窗體不重合時(shí),還要計(jì)入視口相對(duì)窗體的起點(diǎn)偏移量(d),則視圖世界坐標(biāo)計(jì)算公式為:V = d + W · vscale。

3.1.2 基于VBO的圖形渲染

任何一個(gè)3D應(yīng)用程序開發(fā)的最大的目標(biāo)之一就是渲染速度,需要自始至終的將實(shí)際渲染圖形的數(shù)量限制在最小范圍內(nèi)。除此之外,想簡(jiǎn)單提高多邊形的提交速度的話,通常可以利用OpenGL提供的優(yōu)化方法,頂點(diǎn)數(shù)組是一個(gè)比較好的方法。加上VBO的擴(kuò)展,提高了渲染效率。使用頂點(diǎn)數(shù)組可以減少函數(shù)調(diào)用的次數(shù)和共享頂點(diǎn)的冗余使用,但其缺點(diǎn)是頂點(diǎn)數(shù)組中的函數(shù)位于客戶端并且數(shù)組中的數(shù)據(jù)在它每次被引用時(shí)都需要發(fā)送到服務(wù)器端一次。而VBO在服務(wù)器端的高性能內(nèi)存中為頂點(diǎn)屬性創(chuàng)造了一個(gè)“緩沖區(qū)對(duì)象”,也就是說(shuō),VBO能夠把數(shù)據(jù)加載到顯卡的高性能顯存中。因此當(dāng)用戶對(duì)橋梁方案編輯時(shí),只要不改變頂點(diǎn)數(shù)量,如修改墩高、拉伸或縮短結(jié)構(gòu)尺寸等,便可降低渲染時(shí)間。

3.1.3 CAD式的圖形拾取效果

OpenGL提供了豐富的圖形交互操作功能,可利用選擇模式完成圖形的拾取操作。對(duì)于拾取后如何標(biāo)記顯示,進(jìn)而通知用戶當(dāng)前被選中圖形的拾取狀態(tài),在程序開發(fā)中嘗試了2種方法:(1)采用CAD的方式,將備選中圖形顯示成點(diǎn)狀線狀態(tài);(2)采用達(dá)索系統(tǒng)的CATIA程序的方式,將被選中圖形顯示成高亮狀態(tài)。經(jīng)過(guò)實(shí)際開發(fā)對(duì)比,前者可以非常好的利用VBO可提取并編輯頂點(diǎn)坐標(biāo)的特點(diǎn),只需要根據(jù)備選圖形的VBO名稱提取出相關(guān)頂點(diǎn)數(shù)組,之后無(wú)需跳出VBO模式渲染,直接以視口背景顏色按點(diǎn)狀線樣式重繪一次,即可達(dá)到與CAD完全一樣的選中顯示狀態(tài)。而后者因?yàn)樾枰薷牟馁|(zhì)和光照狀態(tài),必須脫離VBO模式渲染,而且不易實(shí)現(xiàn)僅針對(duì)備選圖形的OpenGL狀態(tài)修改,所以程序選擇了CAD式的點(diǎn)狀線圖形拾取處理方法。

3.2 三維場(chǎng)景空間索引

三維場(chǎng)景包括三維地形、橋梁結(jié)構(gòu)、橋梁附屬設(shè)施等模型,鐵路三維地形為大型條帶狀模型,要求有比較高的交互性幀率來(lái)保證交互瀏覽操作時(shí)的渲染流暢性。因此,在渲染每一幀屏幕前,都需要對(duì)當(dāng)前視景體所包含模型數(shù)據(jù)進(jìn)行篩選,而且還要對(duì)無(wú)限視野下的模型數(shù)據(jù)進(jìn)行分級(jí)簡(jiǎn)化,所以,只有采用合適的空間索引數(shù)據(jù)結(jié)構(gòu),才能提高渲染效率。本程序采用的是比較適合于呈片狀均布數(shù)據(jù)的四叉樹空間索引[8]。四叉樹索引的基本思想是對(duì)空間數(shù)據(jù)遞歸劃分為樹結(jié)構(gòu),具體流程是,將當(dāng)前空間數(shù)據(jù)等分成4個(gè)子空間,之后每個(gè)子空間遞歸劃分下去,直到樹的層次達(dá)到一定深度或者滿足某種要求后停止分割。4叉樹索引比較簡(jiǎn)單,但是存在以下不足:(1)當(dāng)空間數(shù)據(jù)對(duì)象分布不均勻時(shí),會(huì)生成嚴(yán)重不平衡樹,導(dǎo)致索引深度增加;(2)同一數(shù)據(jù)有可能被重復(fù)存儲(chǔ)到樹中多個(gè)不同節(jié)點(diǎn)之中,浪費(fèi)存儲(chǔ)空間。

因此,對(duì)四叉樹模型做出以下改進(jìn):(1)規(guī)定空間數(shù)據(jù)僅保存在完全包含它的最小分割節(jié)點(diǎn)中,并且每個(gè)數(shù)據(jù)只能在樹中存儲(chǔ)一次,避免存儲(chǔ)空間的浪費(fèi);(2)在創(chuàng)建樹時(shí),首先生成滿四叉樹,并限制四叉樹深度,從而避免分配數(shù)據(jù)時(shí)臨時(shí)插入節(jié)點(diǎn)而導(dǎo)致的內(nèi)存重新分配損耗;(3)一次性將樹的空節(jié)點(diǎn)所占內(nèi)存釋放掉。經(jīng)過(guò)以上改進(jìn)便可生成較為平衡的四叉樹,改進(jìn)后的四叉樹模型,如圖2所示。

圖2 改進(jìn)后的四叉樹模型示意圖

4 橋梁設(shè)計(jì)系統(tǒng)

4.1 通用圖管理

鐵路橋梁工點(diǎn)一般是基于通用圖開展設(shè)計(jì)的,如何建立界面操作簡(jiǎn)潔、錄入及讀寫方便的圖庫(kù)管理系統(tǒng),是鐵路橋梁設(shè)計(jì)程序開發(fā)的重要環(huán)節(jié)。本程序的圖庫(kù)系統(tǒng)以C++語(yǔ)言對(duì)Excel文件的讀取操作,以及對(duì)ACCESS文件的寫入操作為主要技術(shù)手段,開發(fā)獨(dú)立的顯示操作窗口,如圖3所示。提供使用者在開展BIM橋梁設(shè)計(jì)前,預(yù)先對(duì)鐵路項(xiàng)目所用的結(jié)構(gòu)通用圖及其對(duì)應(yīng)工程數(shù)量進(jìn)行錄入管理。主要功能為:(1)梁、墩、臺(tái)、基礎(chǔ)的Excel通用圖數(shù)據(jù)文件錄入;(2)各通用圖的匹配使用原則錄入;(3)圖庫(kù)界面中的排序、篩選顯示;(4)橋梁工點(diǎn)設(shè)計(jì)時(shí),根據(jù)跨度、墩高等信息的圖庫(kù)自動(dòng)匹配。

圖3 通用圖庫(kù)管理窗口

4.2 上下序資料管理

上下序資料獲得類型,按照“獲取提供” 方式分為3種。(1)在程序內(nèi)部利用開發(fā)專業(yè)之間的接口函數(shù),自動(dòng)傳遞上下序數(shù)據(jù),如:鉆孔地層、地質(zhì)縱斷、路基斷面、線位資料和地模坐標(biāo);(2)利用圖形瀏覽窗口,手動(dòng)調(diào)用瀏覽,如:路基斷面圖、地質(zhì)柱狀圖;(3)利用資料互提菜單,在程序中手動(dòng)點(diǎn)擊并以文件形式獲取,如:線路資料表、隧道表、橋涵表和墩臺(tái)里程表等。管理界面,如圖4所示。

圖4 上序資料管理窗口

4.3 橋梁設(shè)計(jì)功能

(1)利用GridCtrl控件制作基于橋梁孔跨布置的表格式設(shè)計(jì)窗口,表格中以橋梁?jiǎn)挝豢卓鐬閱挝话葱信帕小C啃酗@示其做代表孔跨的小里程側(cè)墩臺(tái)里程、跨度、梁縫、墩高、相關(guān)高程以及本跨度內(nèi)所采用的結(jié)構(gòu)通用圖信息,從而通過(guò)編輯表格的方式完成全橋孔跨設(shè)計(jì),如圖5所示;

圖5 孔跨設(shè)計(jì)窗口

(2)基于橋梁彎道計(jì)算,完成整橋平移、孔跨調(diào)整、梁型變換等編輯操作后的,實(shí)時(shí)計(jì)算曲線段落內(nèi)的梁縫增值,更新全橋墩臺(tái)里程;

(3)根據(jù)墩臺(tái)里程,截取地模數(shù)據(jù),更新地面高程后重新計(jì)算墩身高度,并根據(jù)墩身高度更新匹配橋墩、橋臺(tái)、基礎(chǔ)通用圖;

(4)提取墩臺(tái)中心里程處的地層數(shù)據(jù)檢算基礎(chǔ);

(5)設(shè)計(jì)文件輸出:DWG圖紙文件,包括:橋址平面圖、全橋布置圖、橫斷面布置圖、彎道布置圖;EXCEL算單、工程量清單文件;基礎(chǔ)檢算結(jié)果文件。

5 結(jié)束語(yǔ)

本程序從核心UI及視圖顯示層面自主開發(fā),具備可根據(jù)用戶使用習(xí)慣量身定制、專業(yè)融合性強(qiáng)等優(yōu)勢(shì)。但在開發(fā)過(guò)程中,需要在空間幾何模型計(jì)算、三維場(chǎng)景數(shù)據(jù)調(diào)度、圖像渲染美觀性等方面加大技術(shù)投入,才能縮小與國(guó)外商業(yè)化BIM平臺(tái)的差距。本程序通過(guò)保留二維橋梁設(shè)計(jì)視圖,使用戶在BIM設(shè)計(jì)模式下,可以沿用傳統(tǒng)設(shè)計(jì)流程及操作習(xí)慣,并且三維場(chǎng)景直觀生動(dòng)。經(jīng)過(guò)鐵路設(shè)計(jì)項(xiàng)目應(yīng)用,表明該程序具備三維環(huán)境下進(jìn)行鐵路橋梁方案設(shè)計(jì)的功能,相比傳統(tǒng)設(shè)計(jì)模式,該程序突破了二維圖紙視覺局限,能夠更好地幫助決策合理方案,具有深入開發(fā)及推廣價(jià)值。

猜你喜歡
程序橋梁模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
試論我國(guó)未決羈押程序的立法完善
手拉手 共搭愛的橋梁
句子也需要橋梁
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
高性能砼在橋梁中的應(yīng)用
3D打印中的模型分割與打包
主站蜘蛛池模板: 日韩福利在线视频| 亚洲国产无码有码| 亚瑟天堂久久一区二区影院| 69av在线| 成人国产一区二区三区| 一级福利视频| 国产色婷婷| 国产精品香蕉在线| a级毛片一区二区免费视频| 呦女亚洲一区精品| 一级毛片无毒不卡直接观看| 高潮毛片无遮挡高清视频播放| 91精品亚洲| 免费看黄片一区二区三区| 欧美日韩国产在线人| 99热国产这里只有精品无卡顿"| 欧美天堂在线| 中文字幕有乳无码| 熟妇丰满人妻| 超碰色了色| 国产欧美精品一区二区| 中文字幕 91| 九色在线观看视频| 青草视频免费在线观看| 18禁不卡免费网站| av免费在线观看美女叉开腿| 无码在线激情片| 国产精品久久久久久搜索| 欧美乱妇高清无乱码免费| 尤物午夜福利视频| 国产成年无码AⅤ片在线| 亚洲一级毛片| 亚洲第一香蕉视频| 97在线观看视频免费| 亚洲男人在线天堂| 激情综合激情| 久久免费成人| 毛片三级在线观看| 亚洲色图欧美视频| 一级做a爰片久久免费| 欧美69视频在线| 国产成人a在线观看视频| 97国产精品视频自在拍| 亚洲精品国产综合99久久夜夜嗨| 亚洲欧美色中文字幕| 亚洲中文字幕无码mv| 色噜噜在线观看| 久久久久久国产精品mv| 久操线在视频在线观看| 久久青青草原亚洲av无码| 免费观看亚洲人成网站| 国语少妇高潮| 精品免费在线视频| 亚洲黄网在线| 国产区在线看| 青青草国产在线视频| 亚洲一区二区在线无码| 色偷偷av男人的天堂不卡| 四虎永久在线精品国产免费 | 国产菊爆视频在线观看| 亚洲国产精品一区二区第一页免 | 欧美日韩亚洲综合在线观看| 国产制服丝袜91在线| 亚洲第一区精品日韩在线播放| 欧美视频在线观看第一页| 91av成人日本不卡三区| 一级香蕉视频在线观看| www.91在线播放| 欧美一级黄色影院| 国产在线精品香蕉麻豆| 国产高清又黄又嫩的免费视频网站| 99激情网| 99国产精品国产高清一区二区| 国产精品人人做人人爽人人添| 国产交换配偶在线视频| 中文字幕在线一区二区在线| 综合亚洲网| 亚洲啪啪网| 国产a v无码专区亚洲av| 国产一级无码不卡视频| 美臀人妻中出中文字幕在线| 国产成人高清精品免费|