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

三維輔助的CAD管線入庫與檢查系統的實現

2014-06-26 07:41:16付海龍周奎王光昇曲超廉光偉趙虎川
城市勘測 2014年6期
關鍵詞:數據庫模型系統

付海龍 ,周奎,王光昇,曲超,廉光偉,趙虎川

(天津市測繪院,天津 300381)

1 引 言

隨著國家經濟的發展,城市的基礎建設工作在迅速進行。目前城市的地上基礎設施規劃管理較為完善,但是地下管線的相關管理工作比較薄弱。而且近年來國內管線事故的逐漸增多,給人民的生命財產安全帶來較大損失。因此,國家對于管線的管理工作愈發重視,逐步開展了全國范圍內的管線普查工作。這其中最為核心的環節就是管線的數據采集與入庫過程,顯然傳統的CAD 管線錄入與檢查已不能完全滿足建立高精度、高準確度的管線數據庫需求。

與此同時,國內三維管線制作技術日益成熟[1~3],為形象化展示二維管線圖提供了極大便利。因此,本文以輔助管線數據生產為目的,研究了二三維一體化的管線錄入、瀏覽與檢查系統,即用三維模塊來同步顯示CAD 中的管線數據。系統實現了視圖的同步,數據編輯的同步,通過實時顯示三維管線來發現數據的錄入錯誤,并且開發了管線碰撞檢測模塊,對數據中的邏輯錯誤進行快速的檢查與顯示。在檢查完成以后,碰撞位置會以列表的形式輸出,提示錄入人員進行相應的修改。

整個系統的核心技術包括了二維管線繪制與屬性錄入模塊,三維管線的動態建模技術,數據交互技術,CAD 與三維顯示模塊的通訊交互技術以及管線碰撞檢查技術。這些技術的結合,為三維輔助CAD 管線檢查系統的實現打下了基礎。

2 二維CAD 模塊

該系統的核心工作區是二維的CAD 空間,它沿用了天津市測繪院的管線采集軟件[4],并進行了三維拓展。因此它能夠充分兼容原有的外業采集數據,符合作業人員的操作習慣。該軟件使用LISP 語言,依據《天津市地下管線信息技術管理技術規程》[5]制作而成,針對管線類別進行繪制和屬性入庫。

錄入的管線類別分為給水、排水、燃氣、電力、電信、熱力及工業管道。錄入的數據分為圖形與屬性。圖形包含管點與管線,它的繪制方式與經典CAD 相同;管線屬性通過對話框輸入,并掛接在CAD 圖形的擴展屬性內[6]。錄入完成后,二維的圖形和屬性檢查在CAD 中完成,這種操作模式簡單,但無法展示和發現空間錯誤,因此必須借助三維輔助模式。

3 三維管線動態建模模塊

3.1 平臺選擇

三維管線的建模技術在國內已經比較成熟,但大都屬于靜態建模技術,即通過管線數據庫文件制作為三維管線模型,存儲在磁盤上,然后在三維瀏覽軟件中進行瀏覽。但這種模式不能適應二三維管線動態錄入與瀏覽的要求,因為三維視圖必須能夠實時展示CAD的管線,并同步配合CAD 的實時編輯,因此基于數據庫的三維管線動態建模技術成為關鍵。

管線的動態建模技術需要一款高效、高擴展性的三維平臺,必須同時支持通過代碼制作各種復雜的模型,并同時具備渲染能力。因此我們采用了OpenScene-Graph(OSG)[7,8]平臺作為三維管線動態建模與瀏覽的平臺。它是一款C+ +庫,并將OpenGL 的C 接口封裝成為C+ +接口,定義了豐富的類庫,涵蓋了從相機渲染、消息與偵聽器、三維模型數據結構等各種模塊。

3.2 建模技術

在三維中,需要建模的元素主要包括井、井室、附屬物、管線等。

附屬物包括閥門、消火栓、變電箱等設施,它們的建模方式是加載預定義的模型庫,復制模型并擺放在對應的位置,閥門可根據管徑縮放比例。這些模型可以預先在3ds Max 中制作,并且導出成OSG 支持的IVE 數據格式,以便使用時加載。

而井、井室以及管線需要通過繪制頂點制作而成。它們的基本特征都是中空圓管,因此最為核心的一步就是給定面數,制作一個標準寬高、位于原點的圓管。在OSG 中,我們需首先制作頂點坐標的數組,然后使用頂點連接數組將離散的頂點連成模型,最后需要指定紋理坐標,將紋理貼圖賦予圓管的內外壁。紋理貼圖的選取可以依據管線的種類或材質。方形的井和管線可以設置圓管面數為4。我們僅需將標準圓管移動、旋轉并縮放,即可形成井、井室或管線。模型制作完成后需加入OSG 場景根節點進行渲染[9]。

3.3 動態瀏覽

三維管線動態建模的一個關鍵因素是內存的控制。CAD 中的管線數據量往往很大,我們不能選擇一次性將CAD 中的全部管線屬性讀入三維模塊,也不能一次性將所有的管線模型制作并顯示,否則會給三維模塊造成過大的資源負擔。

因此需要動態判斷當前三維視點所在的標準圖幅號,并通過該圖幅的外包矩形在數據庫中動態請求范圍內的所有管點、管線數據,并動態建模。當視點發生移動時,在視點范圍之外的模型則會被刪除,范圍內的管線會動態生成。每一個圖幅內的數據請求與動態建模都會在一個獨立的線程內執行,并在建模完成后釋放,因此不會影響三維主渲染線程的瀏覽速度。

圖1 動態瀏覽示意圖

4 數據交互技術

在該系統中,二三維模塊是相對獨立的進程,數據的交互是連接兩個模塊的關鍵。在三維的動態瀏覽過程中,需不斷地向CAD 請求管線屬性數據,這些請求是大量的、并發的。直接讀取CAD 的DWG 文件會破壞CAD 的穩定性,所以必須使用數據庫作為中間數據層。

數據層可以選擇各種輕量級數據庫,例如Access或者Sqlite,另外也可使用shp 數據進行存儲。CAD 中繪制的圖形和屬性應同步的更新至數據庫中,并通知三維模塊讀取數據庫。

為了兼容各種數據庫,三維中讀取數據庫的子模塊應獨立于三維程序本身,并使用設計模式中的接口與插件的模式。在程序最終發布時,系統支持一種數據庫即可。

圖2 二三維數據交互

5 二三維場景交互技術

5.1 進程通訊技術

整個系統設計中最重要的一個環節就是二三維場景的交互過程,它直接面向用戶。然而二三維作為兩個獨立的程序,并不能直接通訊,因此我們使用了.NET庫中的命名管道完成了進程間的通訊。我們將CAD 作為服務器并創建服務器端的命名管道,該管道需設置成監聽狀態。將三維模塊作為客戶端并創建客戶端命名管道,該管道需連接服務器端的命名管道。連接成功后,客戶端可以向服務端發送消息或請求,服務端也可以向客戶端發送廣播。

在該系統中,我們將所有的操作封裝成為帶有相應參數的消息,因此僅需要一個發送與接收消息的接口,并通過封包或解譯消息,即可完成相互的操控。

圖3 進程通訊

5.2 視圖同步

該系統支持二三維模塊的同步操作,即拖動CAD時三維場景也跟隨移動,反之亦然。CAD 中沒有深度,在CAD 請求三維同步時,需要假設場景的深度,可使用屏幕對角線的長度。當三維模塊接收到同步請求后,會更改場景位置,并且動態生成新范圍內的管線。在同步的過程中,通訊消息的發送和接收均是異步調用的,二三維模塊不會因相互拖拽而卡頓。另外,當點擊某根管線或管線模型時,可通過消息把管線的名稱發送給另一個模塊,通過搜索和縮放實現圖元的選擇同步。

5.3 數據編輯同步

該系統的重要功能是數據編輯的同步。即在CAD 中修改管線數據后,修改的信息可以實時的添加到數據庫中,并通知三維進行實時的更新。這種更新包含了模型的更新和視圖的同步,它確保了三維管線模型的實時性。因此作業員繪制完后可立即瀏覽三維管線,通過將模型與外業實測管線對比,可迅速發現錯誤。埋深錄入錯誤在CAD 中無法檢測,但在三維中管線的埋深突變可以被迅速發現。同理管徑的錯誤也可因管線的粗細突變而覺察。因此這種實時性是該系統的主要特色。

6 管線檢查

管線數據質量的內容一般包括:數據完整性、邏輯一致性、位置精度、屬性精度等。

6.1 二維圖形和屬性檢查

本系統對二維圖形和屬性的檢查主要是依據《天津市地下管線信息技術管理技術規程》,通過LISP 語言在AutoCAD 中進行選擇、遍歷、讀取擴展屬性,然后進行邏輯判斷,并將檢查結果輸出到定位列表框中,使用戶能夠快速定位、修改錯誤。常見的錯誤包括物探點號不唯一、點號為空、重疊管點管線、特征點與關聯管線條數不一致、管點兩邊屬性矛盾、連續管線高程突變等錯誤。這些錯誤通常由于錄入操作失誤所致,檢查算法簡單,可在CAD 下有效提示,因不是本文重點,故不詳細介紹其實現過程。

當數據量比較大的時候,在AutoCAD 中頻繁地進行選擇、遍歷操作速度非常慢。這時,我們首先將管線數據輸出到Spatialite 空間數據庫中,然后對空間數據庫進行查詢分析[10],最后將檢查的結果在AutoCAD 中顯示輸出。這種方法極大地提高了大數據量的檢查效率。

6.2 三維空間關系檢查

對于三維空間關系的檢查本文主要考慮了管線碰撞的檢測。埋深錯誤、管徑錯誤也屬于空間關系錯誤,但因沒有真實參考標準,無法精確提示,只能通過瀏覽三維模型,依靠外業經驗發現潛在的可能錯誤。

在現實中管線碰撞一般并不存在,但在管線數據庫中卻很常見。造成管線數據碰撞的原因較多,例如實測的精度較低,或采集的點間距過低,造成數據上的邏輯錯誤。管線的碰撞率是評價管線數據質量的重要指標,因此管線的碰撞檢測和三維展示也是該系統的核心功能。該功能的實現可基于如下算法。

(1)基于平面幾何與高程的檢測

假設將管線抽象為寬度為0 的線,那么發生碰撞的管線一定在正投影面上發生交叉,這是此種算法的前提。在平面上檢測出發現交叉的管線后,可在交叉點處計算在上管線的管底高和在下管線的管頂高,通過它們的比較可判斷管線是否發生碰撞。

圖4 平面與高程檢測

H 為管中高程,R 為管徑。如果d 為正,則沒有發生碰撞,否則管線發生碰撞。這種算法有一個明顯的缺陷,即相互平行的管線即使在管徑處發生碰撞,也無法有效檢測。

試驗數據使用了某區域內58 km的管線,在普通PC 上檢測用了31″,檢測速度較快。

(2)基于三維實體的布爾運算

另一種真實的碰撞檢測算法,是創建三維實體進行布爾運算。這種運算的結果是準確的,然而由于是模擬算法,速度較慢。OSG 庫不支持布爾運算,因此可使用REALDWG 開發庫在內存中制作管線粗模,并進行粗模的布爾運算,檢測完畢后可將碰撞的位置發送給三維模塊進行標注顯示。RealDWG 集成了ACIS 三維幾何造型引擎,ACIS 是用C + +寫的模型類庫,采用BREP 邊界表示法,支持實體的布爾運算、曲面裁減、曲面過渡等多種編輯功能。在RealDWG 中的三維建模操作都是通過ACIS 來完成的。在RealDWG 中進行碰撞檢測的步驟包括:

第一,根據管線的平面位置、管頂(或管底)高程、管徑、埋設方式等信息計算管線中軸線的空間位置;

第二,利用ACIS,根據管徑、埋設方式在中軸線位置建立Solid3d 類型的模型。建立圓柱體模型的方法是根據起止點和半徑通過CreateFrustum 方法建立。建立長方體管線的方法是根據起止點、長和寬通過CreateBox 方法建立。

第三、檢測碰撞。通過ACIS 建立了Solid3d 類型的三維管經模型之后,用Solid3d 對象的CheckInterference 方法可以確定兩個對象之間是否交疊,即是否存在碰撞。

第四、計算碰撞位置當檢測到管線存在碰撞時,我們需要獲取碰撞的空間位置。通過Solid3d 對象的BooleanOperation 方法對兩個對象進行布爾操作,計算兩個三維對象交集,方法如下:

圖5 布爾運算

試驗數據使用了同區域內58 km的管線,在普通PC 上檢測用了100″,因此速度數倍慢于平面幾何法,但仍足以滿足實際應用。

7 系統展示

該系統的基本界面包括二維CAD 環境和三維環境,適合在雙屏幕上進行操作。管線的繪制和錄入在CAD 中完成,三維模塊負責管線的瀏覽和碰撞檢測展示。在數據制作過程中,兩個模塊可以實現視圖和模型編輯的同步(如圖6所示),便于用戶快速的發現錯誤。

圖6 系統界面與視圖同步

如圖7,在碰撞檢測完成后,三維模塊中會生成碰撞位置的列表,同時配以動畫箭頭指示碰撞的位置。經過檢驗,基于布爾運算的碰撞檢測算法精度可靠,為數據的邏輯錯誤檢查提供便捷。

圖7 碰撞檢測結果

8 結 論

城市管線日益成為城市建設的重要組成部分,但經典的CAD 管線錄入檢查模式已不能滿足高質量管線數據的要求。在此背景下,本文實現了二三維一體化的管線錄入、瀏覽及檢查系統。首先在CAD 中進行管線錄入,屬性數據會同步更新到管線數據庫;三維模塊接收到更新請求后,會讀取數據庫并動態生成管線模型。該系統實現了二三維視圖的同步以及數據編輯的同步,方便用戶實時瀏覽,并通過觀察模型發現埋深、材質、管徑等錄入錯誤。另外,該系統實現了基于布爾運算的管線碰撞檢測,將碰撞位置的列表輸出,并用箭頭提示碰撞位置,提醒用戶更改數據中的邏輯錯誤。該系統解決了經典CAD 管線圖不直觀、難以發現錯誤的瓶頸,并已經運用于實際的管線數據生產工作,提高了管線數據的生產效率和質量。

[1]朱慰明,馮竹平,曹桂海等.淺談城市地下管線三維可視化系統的應用[DB/OL].城市建設理論研究(電子版),2012(15).

[2]馬民濤,任杰,陳克龍等.城市地下管網管理信息系統中管線三維顯示的實現[J].測繪工程,2005,14(4):8 ~10.

[3]陳光.地下管線三維CAD 與信息管理軟件開發[D].西安:西安理工大學,2008.

[4]王光昇,周麗珠,劉允等.基于AutoCAD 自定義實體的初步研究[J].城市勘測,2012(2):134 ~137.

[5]DB/T29 -152 -2010.天津市地下管線信息管理技術規程[S].

[6]趙春燕,施建昭,于海乾.基于ObjectARX 的CAD 二次開發技術實現管線數據的入庫和編輯[J].現代測繪,2010,33(5):58 ~60.

[7]王銳,錢學雷.OpenSceneGraph 三維渲染引擎設計與實踐[M].北京:清華大學出版社,2009.

[8]肖鵬,劉更代,徐明亮.OpenSceneGraph 三維渲染引擎編程指南[M].北京:清華大學出版社,2010.

[9]曲超,義崇政,廉光偉.基于OSG 的三維管線實時建模技術研究[C].魅力天津·學會杯.天津:天津科學技術出版社,2013:343.

[10]柳華僑,王光昇.輕量數據庫Spatialite 在AutoCAD 中的應用[J].城市勘測,2013(5):46 ~49.

猜你喜歡
數據庫模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
主站蜘蛛池模板: 日本尹人综合香蕉在线观看 | 成人中文字幕在线| 天堂岛国av无码免费无禁网站| 亚洲日本www| 呦视频在线一区二区三区| 精品欧美视频| 毛片最新网址| 亚洲欧美日韩高清综合678| 98精品全国免费观看视频| 国产精品亚洲专区一区| 欧美日韩国产在线人| 视频在线观看一区二区| 国产自产视频一区二区三区| 日韩在线播放欧美字幕| 亚洲欧美日韩成人高清在线一区| 婷婷成人综合| 国产成人91精品免费网址在线| 精品成人一区二区三区电影 | 午夜高清国产拍精品| 99视频在线观看免费| 久久精品国产在热久久2019 | 91综合色区亚洲熟妇p| 国产一国产一有一级毛片视频| 国产在线97| 97视频在线观看免费视频| 91精品国产丝袜| 婷婷亚洲天堂| 国产亚洲精久久久久久久91| 精品99在线观看| 一级成人欧美一区在线观看| 亚洲第一成年网| 99久久无色码中文字幕| 综合色区亚洲熟妇在线| 国产白浆视频| 欧美国产日韩在线| 久久福利网| 久视频免费精品6| 亚洲成人黄色网址| 午夜国产不卡在线观看视频| 精品久久久无码专区中文字幕| 人妻丰满熟妇av五码区| 亚洲成人播放| 日韩区欧美国产区在线观看| 欧美激情二区三区| 亚洲国产亚综合在线区| 欧美日韩国产在线人成app| 色窝窝免费一区二区三区| 超薄丝袜足j国产在线视频| 美女国产在线| 99在线视频免费| 一级不卡毛片| 四虎影视无码永久免费观看| 久久精品免费看一| 成人午夜网址| a毛片在线| 欧美啪啪一区| 91精品啪在线观看国产91九色| 色综合热无码热国产| 亚洲天堂区| 成年人免费国产视频| 婷婷色丁香综合激情| 91精品福利自产拍在线观看| 欧美伊人色综合久久天天| 免费观看成人久久网免费观看| 国产亚洲欧美另类一区二区| 日韩黄色大片免费看| 国产肉感大码AV无码| 91精品国产91久无码网站| www亚洲天堂| 麻豆精品视频在线原创| 2022国产无码在线| 亚洲色无码专线精品观看| 国产欧美日韩综合在线第一| 亚洲精品视频网| 精品无码日韩国产不卡av| 国产成人高清精品免费软件| 秋霞国产在线| 91在线视频福利| 国产成人在线无码免费视频| a毛片免费在线观看| 国产成人精品2021欧美日韩| 国产精品一区二区久久精品无码|