?

AutoCAD.NET技術在地下管線三維建模與碰撞檢測中的應用

2019-08-07 08:42佛山市測繪地理信息研究院簡漢佳
中國勘察設計 2019年7期
關鍵詞:碰撞檢測高程管線

■ 佛山市測繪地理信息研究院 簡漢佳

1.引言

在實際的地下管線探測工作中,一般不會發生管線碰撞的情況,但在管線數據庫中這種情況卻普遍存在。造成管線數據碰撞的因素有很多,如儀器和人為造成的誤差、采集地點間距過低造成的數據上的邏輯錯誤等。因此,如何發現和糾正管線數據的碰撞情況,是保證管線數據質量的重要手段。

2. AutoCAD.net技術

從AutoCAD 2006開始,Autodesk為其開發增加了.NET API。.NET API提供了一系列托管的外包類(Managed Wrapper Class),開發人員可以利用Visual Studio開發平臺在.NET框架下使用任何支持.NET的語言,如VB.NET、C#.net 和Managed C++等,對AutoCAD進行二次開發[1]。

同時,隨著AuotCAD 2010對三維建模的進一步優化,開發人員可以通過構造拉伸實體、構造放樣三維實體及碰撞檢查等方法,實現對地下管線數據進行三維建模和碰撞檢查。

3.地下管線三維建模與碰撞檢測的功能原理及實現

3.1 地下管線碰撞情況分析

(1) 管線碰撞可能出現的情況

管線碰撞可能出現以下3種情況[2](圖1):

(a) 兩管線相交,其高程范圍有相交的情況,則兩管線會出現碰撞;

圖1 管線碰撞可能出現的情況

(b) 兩管線并行,其空間最短距離小于兩管線的半徑之和,則兩管線會出現碰撞;

(c) 兩管線共線,若兩管線相交或者平行空間距離小于兩管線的半徑之和,則兩管線會出現碰撞。

(2) 基于平面幾何與高程的檢測算法及缺點

通過比較兩條管線的高程差或兩管線的空間間距d與兩管線半徑之各R1+R2,如果d>R1+R2,則兩管線不碰撞,否則兩管線碰撞。(圖2)

圖2 平面與高程檢測

但是,由于管線埋設的多樣性,個別特殊的管線碰撞情況仍無法利用以上方法計算,比如兩管線相交,由于其中一條管線兩端高差較大,即使兩管線相交點的垂直(或水平)間距大于兩管線的半徑之和,兩管線仍然存在碰撞的情況,如圖3所示:

圖3 特殊管線碰撞情況

3.2 基于三維實體的布爾運算

目前,大部分地下管線信息系統都是基于ArcGIS、SkyLine等地理信息系統軟件作為三維平臺,且都是以參數化的三維建模技術為主,無法快速地進行大面積的建模。

目前最準確的碰撞檢測算法,是創建三維實體進行布爾運算。因此,本文提出了一種基于AutoCAD.NET技術的地下管線三維建模的實現方法,能夠在AutoCAD環境下快速地對地下管線數據進行三維建模,同時通過對三維模型的布爾運算進行管線數據的碰撞檢測。

3.3 實現方法

地下管線數據庫主要采用Access數據庫,每一類管線由點表和線表組成,點表記錄了管線點的點號、坐標、井底深度、空間位置等信息;線表則記錄了管線段兩端的點號和埋深、管徑、材質、埋設方式等信息?;贏utoCAD.net技術的三維建模和碰撞檢測的流程如圖4所示:

圖4 碰撞檢測流程圖

(1)讀取管線、點信息

根據管線兩端平面坐標、管頂(或管底)高程、斷面類型、管徑等信息,計算管線中軸線的空間位置、起點的橫截面及管線向量。

(2)利用AutoCAD.net建立Solid3d類型的模型

使用CreateBox方法建立長方體管線模型,圓柱體管線模型可以使用Create Frustum的方法建立,也可以利用Create Extruded Solid和Extrude方法,對計算得出的管線起點的橫截面及向量進行拉伸來建立管線模型。

在AutoCAD 2010發布之前,受技術的限制,在根據管線的形狀繪制圓柱體、長方體后,每個管線、點模型在坐標原點(0,0,0)創建,且垂直于XY平面,實際地下管線處于不同的位置、管線坡度不一,需將創建的管線、點模型進行旋轉移動等進行一系列的三維幾何變換、算法十分復雜[3]。但在AutoCAD 2010中,只需要根據管線的起點高程和截面形狀繪制一個面域,再根據管線兩端三維坐標計算出管線的拉伸向量,通過對面域的拉伸,就可以構建出一個位置和形狀準確地地下管線三維模型。

(3)三維碰撞檢測在三維模型建立后,可以利用Solid3d.CheckIn-terference()函數進行三維模型的碰撞檢查。只要兩管線的三維模型產生了交疊,該函數就能通過布爾運算計算出來。(圖5)

圖5 布爾運算

(4)提取碰撞管線信息

當檢測到管線存在碰撞時,我們可讀取兩管線的屬性信息,同時,通過Solid3d對象的Boolean Operation方法計算兩個三維對象的交集,從而獲取兩管線的碰撞位置、空間凈距、侵占比例等信息。

3.4 算法對比

在同一臺電腦上,分別使用基于平面幾何與高程的檢測算法和基于三維實體的布爾運算的檢測算法,對某一區域的34公里地下管線進行碰撞分析。結果顯示,基于平面幾何與高程的檢測算法用時320秒,發現碰撞位置152處;基于三維實體的布爾運算的檢測算法用時150秒,發現碰撞位置195處。從分析對比的結果來看,基于三維實體的布爾運算的檢測算法無論是在從速度上還是在準確率上,都明顯優于基于平面幾何與高程的檢測算法。

4.結語

本文介紹了基于AutoCAD.NET技術開發的三維建模和碰撞檢測功能,不需要借助其他三維建模軟件,可有效幫助生產單位在管線數據處理階段對地下管線數據進行三維可視化操作、提高生產效率,同時可以減少在管線普查和管線竣工測量數據處理過程中,由于探測誤差或數據處理中的人為錯誤,可能導致管線數據錯誤而出現的管線碰撞,保證了管線測量成果的質量。本技術經過實際檢驗,能夠發現基于平面幾何和高程碰撞檢測算法無法發現的管線數據碰撞情況,具有較高的使用價值。

猜你喜歡
碰撞檢測高程管線
基于動力學補償的機器人電機力矩誤差碰撞檢測
1,4-丁二醇加氫進料泵管線改造
全新預測碰撞檢測系統
海南省北門江中下游流域面積高程積分的應用
8848.86m珠峰新高程
基于BIM的鐵路信號室外設備布置與碰撞檢測方法
基于Android的移動GIS管線應用設計與實現
基于二次曲面函數的高程擬合研究
基于Virtools的虛擬滅火系統碰撞檢測設計與實現
淺談通信管線工程建設
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合