沈杰
(上海核工程研究設計院有限公司,上海 200233)
PDS(Plant Design System)是鷹圖公司開發的三維工廠設計軟件,被廣泛應用于能源與化工行業,通過多專業協同配合完成工廠設計任務,能夠有效提升設計效率與設計質量。區別于傳統的AutoCAD軟件,PDS使用MicroStation作為圖形平臺的同時也使用Oracle、SQL Server等通用的關系數據庫存儲設計參數,做到圖形與數據的配套錄入。
PDS模型中包含了兩大類數據:屬性數據和三維拓撲關系數據。屬性數據存儲在關系數據庫中,表征元件的各類設計參數(比如公稱直徑、壁厚、壓力等級、端面類型等);三維拓撲關系數據則以圖形文件的形式存儲在MicroStation軟件生成的DGN文件中,用于表征元件在空間中的位置及與其他元件的連接關系。通過調研國內外能源及石化行業的PDS應用情況,發現目前尚無可行的方法解析存儲在圖形文件中的PDS模型三維拓撲關系數據,因此對PDS模型數據的使用局限于存儲在數據庫中的屬性數據。
隨著對PDS軟件應用的推進和深入,新的工程應用需求越來越多,比如力學分析軟件接口開發、系統設計與布置設計的二三維比對以及工程管理上的房間管理等,這些都與PDS模型三維拓撲關系數據緊密關聯,因此急需研究出一種可行的獲取PDS模型三維拓撲關系數據的方法。而PDS軟件在管道設計上應用最為廣泛,因此首先需要進行管道專業的三維模型拓撲關系解析。
基于上述考慮,筆者對PDS管道模型三維拓撲關系進行研究分析,力圖尋找一種高效的解析方法,完成三維拓撲關系數據的結構化,并且通過編寫軟件對其予以實現。
PDS軟件使用MicroStation軟件作為其圖形引擎,因此其模型的圖形文件都是DGN文件。DGN文件全稱為“MicroStation Design File”,是三維圖形設計軟件MicroStation生成的圖形文件,用于存儲圖形信息(元件的拓撲信息、元件的外形尺寸),如圖1所示。

圖1 PDS中的布置關系
PDS三維工廠管道模型中的拓撲關系描述的是工廠中布置的所有模型元件的空間信息及相互連接關系,因此在建立PDS三維拓撲數據模型過程中,最重要的3點為:①能夠表達元件自身的身份信息;②能夠表達元件連接的其余元件的身份信息;③能夠表達元件自身所處模型信息。
同時考慮到PDS管道模型中對于單個管道元件,最多支持5個端點,因此將PDS三維拓撲關系數據結構定義為圖2所示的結構。

圖2 PDS三維拓撲關系數據結構定義
PDS三維拓撲關系數據結構主要反映了元件與元件間的拓撲關系。為了從圖形文件中獲取PDS的三維拓撲關系數據,首先需要知道PDS圖形文件中所有拓撲關系的表達方法。通過深入分析研究發現,PDS軟件管道專業在拓撲關系表述上可以分為以下3類。
這種連接為基本連接類型,最大特征為相連部件的端面緊緊重合,如圖3所示,其端面坐標完全一致,一般管道、彎頭、三通等都采用這種連接方式。
法蘭管嘴不同于其他部件,由于墊片的存在,在實際模型中,管嘴與法蘭之間存在半個墊片的間隙,因此端面將不會重合,如圖4所示。

圖3 端面重合連接類型

圖4 法蘭管嘴連接類型
由于接管座插入母管內部,因此接管座與母管對應的端面坐標與任何部件的坐標都不會重合,如圖5所示。

圖5 接管座連接類型
在知道了上述3種情況后,即可設計如下算法來實現對管道所有拓撲關系數據的獲取,算法具體分為3個部分,分別對應3種不同的情況:①端面重合連接。對于此類元件,判定其拓撲關系只需要獲取端面坐標后通過比對坐標是否一致即可判定元件之間是否存在連接關系。②管嘴。對于此類元件,常規坐標重合判定方法已經失效。通過對PDS底層數據庫的研究發現,如果管嘴與管線連接正確,將會在管線 屬 性 數 據 中 的 END_1_NOZZLE_ID或END_2_NOZZLE_ID屬性里記錄下連接管嘴的相關信息,如圖6所示,通過對管嘴信息的解析即可獲取與管線相連的管嘴所處模型及管嘴的唯一識別碼??紤]到管線與元件之間的連接方式是端面重合連接,因此在知道了管嘴與管線的連接關系后,可以通過將管嘴坐標替換為管線與管嘴相連的坐標的方式轉化為第一種連接情況。③接管座。接管座與母管相連一端的端面必然位于母管中心線上,因此需要找到接管座與母管的連接方式。
在此,需要遵循如下方法:①獲取接管座母管端的端面坐標;②通過端面匹配獲取與上述端點相連的中心線;③獲取同時擁有②中的中心線的元件,即接管座相連的母管。

圖6 管線的管嘴屬性
因此上述算法實現了對PDS管道專業模型所有元件的拓撲關系解析工作。在上述算法的實現過程中,關鍵在于如下3點:①如何從圖形文件中獲取元件的元件號;②如何從圖形文件中獲取元件的端面坐標信息;③如何從圖形文件中獲取元件與中心線的從屬關系。
在管道及設備模型中,元件的元素主要分為2類:第一類為Cone Element,在圖形上表示為圓錐,主要涉及的元件類別為管道、大小頭;第二類為Cell Element,主要用于表示復雜圖形,包括設備、彎頭、三通等其余所有類型。
在元件的元件號獲取上,通過研究發現,在圖形文件中元件的元件號通過DMRS Linkage來表示。DMRS Linkage以16進制表示,可以分為3部分:①0x0000。這一部分沒有意義,可以忽略。②0x0003。這一部分代表該元素對應的元件的種類,圖中的值為3,代表該元件是一個管件(piping component)。③0x0257 0x7b38。將其倒序為0x7b38 0x0257后轉化為10進制后為2067268183,這個數字為元件在PDS數據庫中的SYSTEM_UNIQUE_NO,即元件的唯一識別碼。同時對應不同的元素,DMRS Linkage的獲取方法不盡相同。對于Cone Element,DMRS Linkage儲存在其本身,對于Cell Element,DMRS Linkage存儲在其子元素Point String下。
而對于PDS元件來說,每個元件都擁有不止一個DMRS Linkage號,如圖7所示,當前部件擁有3個DMRS Linkage。對于PDS來說,第一個DMRS Linkage代表了元件自身的元件號,接下來的DMRS Linkage則代表了元件對應的中心線的身份信息,因此從剩下的DMRS Linkage中即可獲取元件與中心線的從屬關系。
在元件端面坐標信息的獲取上,同樣對于不同的圖形元素,獲取方法也不相同。對于Cone Element,作為簡單元素,其兩端端面的坐標就是Cone Element的Center1與Center2屬性,如圖8上的Geometry屬性組中所寫。對于Cell Element元素,作為復雜元素,其端面坐標隱藏在子元素Point String下,如圖8所示。Point String元素里存在一個Point類型數組,其中,Points[0]對應元件的中心點坐標,Points[1]對應元件的端面1坐標,Points[2]對應元件的端面2坐標,Points[3]對應元件的端面3坐標(如果沒有端面3則表示中心點坐標),Points[4]對應元件的端面4坐標(如果沒有端面4則表示中心點坐標),Points[5]對應元件的端面5坐標(如果沒有端面5則表示中心點坐標)。

圖7 DMRS Linkage示例

圖8 Cone Element屬性列表
程序主要分為3部分:①讀取配置文件,獲取圖形文件存儲路徑及對應項目數據庫信息;②對所有圖形文件進行解析,獲取所有元件編號及其對應的端面坐標信息;③通過拓撲關系獲取算法生成結構化的拓撲關系數據并存入數據庫。
整個程序主要分為5步:①讀取配置文件,確定三維拓撲關系模型最終存儲的數據庫信息及圖形文件的存儲路徑;②記錄圖形文件的存儲路徑;③讀取圖形文件中所有元件的元件號、端面坐標以及中心線從屬關系;④根據拓撲關系獲取算法生成結構化的拓撲關系數據;⑤將拓撲關系數據存入關系數據庫中。軟件要求上,對于運行程序的客戶端,需要預裝MicroStation V8i軟件,這是因為程序在圖形文件解析過程中使用到了MicroStation V8i SDK包中的功能,這部分功能是基于MicroStation V8i版本軟件起效的。選用MicroStation V8i版本的主要原因是從V8i以后的SDK包支持MVBA和addins的多環境開發方式,使得開發的便利性得到顯著提升。對于存儲數據庫,則選用oracle數據庫,由于三維拓撲關系數據結構的對象是整個項目中的所有數據,因此其數據量非常大,oracle數據庫在大容量數據的處理上有其余數據庫軟件無法比擬的優勢。完成后的程序界面如圖9所示,生成的拓撲關系數據如圖10所示。

圖9 程序界面

圖10 數據庫中的拓撲關系數據
本文從實際工程需求出發,研究了如何將存儲在圖形文件中的非結構化PDS管道模型三維拓撲關系轉化為存儲在數據庫中的結構化數據。
在研究過程中,首先明確了研究對象PDS管道模型的三維拓撲關系的具體含義,定義了一個能夠包含所有拓撲信息的三維拓撲數據結構用于最終解析信息的存儲。通過工作分解的方法將復雜、抽象的PDS管道模型三維拓撲關系獲取工作分解為從圖形文件中獲取元件號、元件端面坐標和進行端面坐標匹配的3個具體過程逐一實現。最后采用了最新的MicroStation V8i的SDK開發包,使用面向對象的編程技術完成了解析方法的程序實現,兼顧了程序的易讀性與效率。本文通過應用PDS管道模型三維拓撲關系解析方法,實現了PDS三維模型中存儲的三維拓撲關系信息由無法讀取的非結構數據向易于讀取的結構數據的自動轉化。得到的PDS三維拓撲關系數據為三維模型的后續利用,比如力學分析一體化,二三維模型比對、房間號管理等的實現奠定了基礎。
[1]Jerry Winters.Learning MicroStation VBA[M].北京:中國水利水電出版社,2007.