張 鋼,楊松林,張力小,張莉莎
(1.河北科技大學(xué) 機(jī)械電子工程學(xué)院,石家莊 050018;2.北京師范大學(xué) 環(huán)境學(xué)院,北京100875)
在化工企業(yè)的圖紙設(shè)計中涉及大量的管道設(shè)計,多數(shù)采用二維的設(shè)計方式。二維電子圖紙不易看懂,其中的錯誤很難被發(fā)現(xiàn),等到施工時才顯示出來,這給工程施工造成嚴(yán)重后果。二維的表達(dá)方式也給改建或擴(kuò)建帶來不便。與二維設(shè)計相比,三維設(shè)計有利于全面考慮操作、檢查、安全的需要;容易發(fā)現(xiàn)施工時可能出現(xiàn)的問題,并事先獲得解決;有利于工程建設(shè)制定計劃、編制預(yù)算、劃分分包范圍。針對化工廠中的大量的二維電子圖紙,對其進(jìn)行三維實體重建是很有必要的。
管道布置圖是在設(shè)備布置圖上增加了管道布置情況的圖樣。管道布置圖中所解決的主要問題是如何用管道把設(shè)備連起來。根據(jù)管道布置圖的特點可知,需要對其進(jìn)行一定的預(yù)處理,內(nèi)容包括:
1)刪除多余信息:例如圖框、管架等。
2)重新表達(dá):將雙管線用其中心線表示轉(zhuǎn)為單管線表達(dá),重疊隱藏的管線重新表達(dá)清楚,刪除斷線號等。
3)工程語義的關(guān)聯(lián):采用建塊方法建立圖形與其屬性(工程語義)的關(guān)聯(lián),塊名按一定規(guī)則命名。
4)圖形分段處理:分別以主要設(shè)備為中心,手動將一組相關(guān)聯(lián)的視圖存放在不同名的.dwg文件中,文件名用主要設(shè)備名稱命名,將這樣的圖段叫做“子圖”,子圖中的各個圖形的位置和原來管道布置圖中相應(yīng)坐標(biāo)一致。
選擇VB為編程工具,采用AutoCAD作為圖形處理平臺,利用Access建立數(shù)據(jù)庫來存儲三維重建數(shù)據(jù)。VB通過ActiveX Automation技術(shù)[1]與AutoCAD進(jìn)行接口和通信從而實現(xiàn)對AutoCAD的控制和操作,進(jìn)而實現(xiàn)AutoCAD圖形的信息提取、存儲和圖形的建立等。利用VB強大的數(shù)據(jù)庫訪問功能將提取的數(shù)據(jù)信息按照一定的規(guī)則添加到Access數(shù)據(jù)庫中,以便三維重建時能夠從其中讀取所需信息。根據(jù)所存儲數(shù)據(jù)的內(nèi)容利用Access數(shù)據(jù)庫創(chuàng)建多個數(shù)據(jù)表,并創(chuàng)建它們的鏈接。利用ADO技術(shù)[2]可以實現(xiàn)Visual Basic對Access數(shù)據(jù)庫的訪問和數(shù)據(jù)交互更新等。
圖形識別和信息匹配是三維重建的一個重點也是難點,是根據(jù)二維工程圖,對圖形對象進(jìn)行識別判斷,通過編程方法和用戶交互選擇方式實現(xiàn)圖形與工程語義的匹配及視圖之間的匹配,進(jìn)而得到圖形對象所在的空間的位置和方位三維數(shù)據(jù)及其圖形對象本身的數(shù)據(jù)。
1) 圖形識別
根據(jù)對象名稱和線寬識別管道和一般彎頭。通過塊名識別管道標(biāo)注、退化彎頭、三通、異徑管、閥門、儀表、附件和設(shè)備;通過塊的屬性值來判斷是何種閥門、儀表、附件或設(shè)備。
2)圖形匹配
管道往往由好幾個管段組成,管段之間是由閥門、儀表、附件、一般彎頭和異徑管連接的,管道標(biāo)注只標(biāo)注在其中的一個管段上。圖形匹配[3]方法是首先找與管道標(biāo)注塊相交的且交點是管道標(biāo)注塊基點的管段,直接把管道標(biāo)注相關(guān)信息賦值相應(yīng)管段,例如標(biāo)高直接賦值給管段的Z方向值,把已匹配的管道標(biāo)注刪除,給已匹配的管段賦予顏色以區(qū)分是否匹配。接下來需要對其它對象匹配,這里依據(jù)深度優(yōu)先搜索算法[4]原理沿管道方向的管段端點去遍歷圖形,識別其它對象并對它們進(jìn)行匹配,通過管道端點的對象來判斷繼續(xù)還是終止搜索,例如對象是設(shè)備就會終止這個方向的搜索。最后把匹配的數(shù)據(jù)存入建好的數(shù)據(jù)庫中。
3) 視圖匹配
根據(jù)表達(dá)的需要,管道布置圖采用一組視圖:平面圖、剖視圖、向視圖和局部放大視圖。所有視圖都放在同一坐標(biāo)下,為了還原它們在三維重建坐標(biāo)系下的坐標(biāo),需要先在主視圖上確定三維重建的坐標(biāo)系,通過人機(jī)交互選擇方式來對視圖進(jìn)行匹配,然后對除主視圖以外的其它視圖進(jìn)行坐標(biāo)變換[5]。
三維實體重建基本思路:首先,通過編程方法結(jié)合化工三維圖形庫[6]和三維重建數(shù)據(jù)庫實現(xiàn)設(shè)備自動重建并準(zhǔn)確在空間定位;其次,根據(jù)三維重建數(shù)據(jù)庫進(jìn)行管道和管道連接件的三維實體重建;再次,實現(xiàn)閥門、儀表和管道附件的三維實體重建;最后,人機(jī)交互處理空間三維模型,例如與設(shè)備管口相連的直管段是由設(shè)備管口確定位置的,需要人機(jī)交互處理。
從三維重建數(shù)據(jù)庫得到管道的起點P1( X1, Y1, Z1)、終點P2( X2, Y2, Z2)和管徑D。根據(jù)這幾個參數(shù)可以得到管道半徑R,點P1到點P2的三維向量P,點P1和點P2這兩點的距離L,空間坐標(biāo)系Z軸正方向的單位方向向量為Iz,向量P和向量Iz的向量積為向量H,選HAxis為向量H正方向上的一點,向量P和向量Iz的夾角為θ。
三維管道實體重建思路:首先在空間坐標(biāo)下以原點繪制管道截面和拉伸路徑,在XY平面上以原點center ( 0 , 0 , 0 )為圓心,R為半徑繪制管道截面,以原點center ( 0 , 0 , 0 )和點 point_z ( 0 , 0 , L )為兩端點繪制拉伸路徑,建立三維實體管道,效果如圖1中a所示;然后以向量H正方向為旋轉(zhuǎn)軸旋轉(zhuǎn)三維實體管道,旋轉(zhuǎn)角度為θ,使管道中心線方向與向量P一致,效果如圖1中b所示;最后將三維管道移到P1點,實現(xiàn)空間三維管道的重建,效果如圖1(c)所示。
圖1 三維管道重建示意圖
三通和異徑管的重建方法與管道的重建方法類似,三通可以看成是兩個管道三維重建的疊加,異徑管可以看成是截面繞X軸旋轉(zhuǎn)生成三維異徑管實體,其它過程和三維管道重建過程類似。
彎頭三維實體重建思路:從三維重建數(shù)據(jù)庫得到圓弧的圓心C ( X0, Y0, Z0)、起點P1( X1, Y1, Z1)、終點P2( X2, Y2, Z2)和半徑r。根據(jù)這幾個已知參數(shù)建立一個參考坐標(biāo)系,由參考坐標(biāo)系和固定坐標(biāo)系(空間坐標(biāo)系)可以得到變換矩陣。假設(shè)將點C移到固定坐標(biāo)系的原點,按照管道重建的方法建立三維彎頭實體,然后使用該變換矩陣[7]將彎頭三維實體進(jìn)行幾何變換,最后完成彎頭的三維實體重建。
參考坐標(biāo)系的建立方法:以點C ( X0, Y0, Z0)為坐標(biāo)系原點,點P1( X1, Y1, Z1)為X軸方向上的一點,由該坐標(biāo)系下的XOY平面上的另一點為P2( X2, Y2, Z2)可得Y軸正方向上的一點P3( X3, Y3, Z3)。根據(jù)立體解析幾何的知識知,CP1⊥ CP3,有
根據(jù)C、P1、P2、P3四點共面得
由于P3是Y軸正半軸上的任一點,假設(shè)其坐標(biāo)滿足
由以上三個式子結(jié)合起來,可以得到X3、Y3和Z3的值,最終確定參考坐標(biāo)系。
由于閥門、儀表、附件和設(shè)備在管道布置圖中都是用圖形符號表示的,無法對它們提取足夠的信息進(jìn)行三維實體重建,所以必須建立相應(yīng)的化工三維圖形庫以便管道布置圖的三維實體重建的調(diào)用。重建方法:由三維重建數(shù)據(jù)庫可以得到閥門、儀表和附件與管道的兩個交點(由這兩個點可以計算出安裝角度)、安裝平面和型號,設(shè)備的放置位置、放置角度和型號。根據(jù)型號調(diào)出相應(yīng)閥門、儀表、附件或設(shè)備,由安裝位置和角度把其放置在相應(yīng)空間位置完成閥門、儀表、附件和設(shè)備的三維實體重建。
圖2 管道布置圖的一個子圖
圖2為某石化集團(tuán)有限公司50萬噸/年直柴脫酸精制改造的管道布置圖的一個子圖,現(xiàn)以此圖為實例說明其三維重建過程,對此子圖進(jìn)行圖形識別、信息提取及匹配,將數(shù)據(jù)存放在三維重建數(shù)據(jù)庫中。根據(jù)上文的三維實體重建方法得到如圖3(a)所示,其中圖3(b)是(a)的一個局部放大效果圖,從(b)中可以看出管道和設(shè)備還沒有連接,這就需要對其進(jìn)行人機(jī)交互處理,得到如圖3(c)所示的效果,完成這個子圖的三維實體重建。
圖3 三維實體重建實例
三維實體重建追求的目標(biāo)是將化工二維管道布置圖進(jìn)行批量轉(zhuǎn)換,直接將二維電子圖紙翻譯成三維立體圖,使用戶直接看到最終設(shè)計效果,它不僅對其在化工行業(yè)普及有重要的意義,而且對三維技術(shù)發(fā)展也具有重要的意義。
[1] 宋小春, 陸載涵, 趙大興.AutoCAD考試系統(tǒng)中圖形數(shù)據(jù)的提取和自動評分[J].湖北工學(xué)院學(xué), 2002,17(3): 10-12.
[2] 徐楓, 馬國之, 劉良旭.基于ADO技術(shù)的數(shù)據(jù)庫訪問研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計, 2004, 25(1): 107-110.
[3] 薛峰, 張燕, 趙盼.二維化工工藝管道圖的三維重建[J].科學(xué)技術(shù)與工程, 2010, 10(14): 3523-3526.
[4] 王力強, 常桂然, 王鳳, 申健.工廠管道設(shè)計軟件管段圖提取方法的研究[J].小型微型計算機(jī)系統(tǒng), 1998, 19(1):62-67.
[5] 趙曉峰, 孫靜波, 孔慶.面向三維重建的工程圖信息預(yù)處理的研究[J].計算機(jī)系統(tǒng)應(yīng)用, 2008, 2: 47-49.
[6] 朱長江.工程設(shè)計中建立AutoCAD圖形庫新方法[J].武漢造船, 1999, 4: 36-38.
[7] 李清泉, 嚴(yán)勇, 楊必勝, 等.地下管線的三維可視化研究[J].武漢大學(xué)學(xué)報·信息科學(xué)版, 2003, 28(3): 277-282.