【 第一幕墻網(wǎng) 】
摘要:本文介紹了在石油化工裝置設(shè)計(jì)過程中,如何利用三維設(shè)計(jì)軟PDMS實(shí)現(xiàn)埋地重力流管網(wǎng)的三維設(shè)計(jì),并使用PML語言對其元件庫、ISODraft、Draft以及材料報(bào)表模塊進(jìn)行二次開發(fā),從而提高地下管道的設(shè)計(jì)效率和設(shè)計(jì)質(zhì)量。 關(guān)鍵詞:埋地重力流管網(wǎng);PDMS;二次開發(fā);元件庫;Draft;PML 隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步和設(shè)計(jì)理念的不斷提升,在今天石油化工裝置的設(shè)計(jì)過程中,越來越傾向于借助三維設(shè)計(jì)軟件進(jìn)行設(shè)計(jì)、施工和驗(yàn)收。目前國際上比較流行的兩大三維設(shè)計(jì)軟件分別是鷹圖(INTERGRAPH)的PDS(PLANT DESIGN SYSTEM)和AVEVE公司的PDMS(PLANT DESIGN MANGERMENT SYSTEM),兩者雖開發(fā)平臺不同,但其中心理念都是數(shù)據(jù)的集成:縱向貫穿石化裝置的設(shè)計(jì)、施工、生產(chǎn)維護(hù)等整個(gè)生命周期的各類數(shù)據(jù),橫向貫穿參與設(shè)計(jì)、施工、采購、驗(yàn)收、生產(chǎn)的各個(gè)專業(yè)及各個(gè)參與方的協(xié)同數(shù)據(jù),真正實(shí)現(xiàn)了數(shù)字化工廠的理念。在過去的10多年里,我們通過軟件的引進(jìn)和應(yīng)用開發(fā),實(shí)現(xiàn)了地上裝置的三維設(shè)計(jì),但鑒于埋地重力流管網(wǎng)設(shè)計(jì)與施工的特殊性,一直沒有實(shí)現(xiàn)三維設(shè)計(jì),下文將講述如何在PDMS平臺下實(shí)現(xiàn)埋地重力流管網(wǎng)的三維設(shè)計(jì)。 1 開發(fā)背景 1.1 開發(fā)需求 石油化工裝置地下鋪設(shè)的管道包括壓力流和重力流;埋地重力流管道包括生產(chǎn)污水、生活污水和雨水等。制約埋地重力流管道設(shè)計(jì)的因素較多,如地理環(huán)境、地上設(shè)備和管道的規(guī)劃、大口徑地上管道的支撐點(diǎn)、振動管道的地面支撐點(diǎn)、設(shè)備和構(gòu)架基礎(chǔ)、埋地壓力流管道和電纜的位置、管道坡度、施工因素和地下空間等。埋地管道一般隨基礎(chǔ)、電纜溝一起開挖、施工、防滲和覆土,F(xiàn)場實(shí)踐證明使用二維CAD進(jìn)行埋地重力流管網(wǎng)設(shè)計(jì),不可避免地造成大量的錯(cuò)、漏、碰、缺等問題,由于地下管道交叉嚴(yán)重,防腐補(bǔ)口要求高且施工困難,一旦發(fā)生設(shè)計(jì)變更就會造成人力和財(cái)力的很大浪費(fèi),同時(shí)二維CAD設(shè)計(jì)也不能滿足數(shù)字化工廠的需要。隨著石化裝置的日益大型化和數(shù)字工廠的建設(shè),此矛盾越來越突出,迫切需要解決。 1.2 PDMS簡介 PDMS是由英國CADCENTRE(現(xiàn)AVEVA)公司開發(fā)研制的面向數(shù)據(jù)型大型工廠設(shè)計(jì)管理系統(tǒng)。通過圖形平臺,實(shí)現(xiàn)全比例三維實(shí)體建模,所見即所得;通過網(wǎng)絡(luò)實(shí)現(xiàn)多專業(yè)實(shí)時(shí)協(xié)同設(shè)計(jì),模擬真實(shí)的現(xiàn)場環(huán)境,建立一個(gè)詳細(xì)的3D數(shù)字工廠模型;交互設(shè)計(jì)過程中,實(shí)時(shí)三維碰撞檢查,自動地在元件和各專業(yè)設(shè)計(jì)之間進(jìn)行碰撞檢查,保證設(shè)計(jì)成果的空間正確性;擁有獨(dú)立的數(shù)據(jù)庫結(jié)構(gòu),元件和設(shè)備信息全部可以存儲在參數(shù)化的元件庫和設(shè)備庫中,不依賴第三方數(shù)據(jù)庫;開放的開發(fā)環(huán)境,為用戶的二次開發(fā)提供了良好的平臺。 1.3 PML簡介 PML是指AVEVA Programmable Macro Language,是PDMS內(nèi)置的開發(fā)語言,隨著PDMS的升級,PML語言共經(jīng)歷了PML、PML2、PML .Net三個(gè)時(shí)代。 PML更像是PDMS命令的集合,功能強(qiáng)大,與PDMS無縫連接,同時(shí)具有簡化的用戶界面(GUI)。在管子創(chuàng)建、部件創(chuàng)建修改等許多方面都能方便的開發(fā),PDMS自身的很多功能也是使用PML編寫的。 PML2是PML的升級和加強(qiáng),是基于面向?qū)ο蟮慕忉屝驼Z言,而不是面向?qū)ο蟮恼Z言。因?yàn)槊嫦驅(qū)ο蟮恼Z言支持類、繼承、多態(tài)的概念,而PML2不支持繼承,但是可以對象組合。PML2中的對象(Objects)有成員變量和成員函數(shù),即屬性和方法,使得PML語言更加規(guī)范。 PML .Net是PML與.Net技術(shù)的融合,可以通過PML語言調(diào)用.Net語言編譯的DLL文件,擴(kuò)大了PML的應(yīng)用范圍,方便了與外部程序的溝通。 2 開發(fā)過程 2.1 編碼的確定 編碼即物質(zhì)編碼或材料編碼,是PDMS及其他三維設(shè)計(jì)軟件數(shù)據(jù)集成和數(shù)據(jù)管理的主線,同樣也是管道材料規(guī)范化管理的必經(jīng)之路。由于以往的分工、技術(shù)和標(biāo)準(zhǔn)不完善等原因,造成了埋地重力流管道材料編碼并未納入管道材料編碼的范疇,隨著國內(nèi)設(shè)計(jì)、制造標(biāo)準(zhǔn)的完善和工程設(shè)計(jì)規(guī)范要求的加強(qiáng),給埋地重力流管道編碼成為可能和必然。埋地重力流管道材料種類多、管件型式復(fù)雜、連接形式變化多樣,部分標(biāo)準(zhǔn)中的管徑系列、壓力等級系列與石化標(biāo)準(zhǔn)、美國標(biāo)準(zhǔn)都不能兼容,同時(shí)還存在著未納入國家和行業(yè)標(biāo)準(zhǔn)的公司級標(biāo)準(zhǔn)圖集等內(nèi)容,因此根據(jù)材質(zhì)和用途,將材料編碼分為三類:C類,主要包括鑄鐵管子、管件;U類,主要包括塑料(襯塑)管子、管件;M類,無法歸類的特殊管子、管件,如地漏、清掃口等。根據(jù)材料編碼規(guī)則,將設(shè)計(jì)標(biāo)準(zhǔn)、材質(zhì)標(biāo)準(zhǔn)、連接形式、壓力等級、特殊要求等信息以編碼的形式組合成唯一的標(biāo)識碼,如圖示: 2.2 元件庫的開發(fā) 2.2.1元件庫是PDMS模型的基礎(chǔ),是管道材料設(shè)計(jì)標(biāo)準(zhǔn)的外在體現(xiàn),決定了管子、管件在模型中以何種形狀出現(xiàn)、在管段圖(ISODraft)和平面圖(Draft)中的形狀與標(biāo)注方法,同時(shí)也是等級庫的根源所在。 根據(jù)編碼的分類和設(shè)計(jì)依據(jù),管道元件的元件庫主要采用以下幾個(gè)標(biāo)準(zhǔn): GB/T 13295 水及燃?xì)夤艿烙们蚰T鐵管、管件和附件 CJ/T 189 鋼絲網(wǎng)骨架塑料(聚乙烯)復(fù)合材料管材及管件 GB/T 10002.1 給水用硬聚氯乙烯(PVC_U)管材 GB/T 10002.2 給水用硬聚氯乙烯(PVC_U)管件 GB/T 5836.1 建筑排水用硬聚氯乙烯(PVC-U)管材 GB/T 5836.2 建筑排水用硬聚氯乙烯(PVC-U)管件 2.2.2為了方便開發(fā)與建模,對元件做以下約定: 1)在能夠表達(dá)外形的前提下,盡可能將元件的外形簡化,方便建模; 2)元件的GTYPE(Generic Type)、SKEY(Symbol Key)、連接形式盡量向已有的形式靠近,減少自定義的內(nèi)容,提高兼容性; 3)對于承插焊、插接、熱熔、粘結(jié)等形式,根據(jù)目前的應(yīng)用深度,統(tǒng)一歸為承插焊(SWF)連接類型; 4)元件庫中同時(shí)添加變長管(TUBE)和定長管(FTUBE)兩種管道,既能滿足鑄鐵、水泥管分段生產(chǎn)的特性,也能滿足較短管道的布置; 2.2.3 創(chuàng)建元件: 1)首先定義數(shù)據(jù)集(Data Set),數(shù)據(jù)集是構(gòu)成元件外形參數(shù)的集合,公稱直徑是必要的參數(shù),其他參數(shù)根據(jù)外形的要求添加; 2)第二步定義點(diǎn)集(Point Set),根據(jù)元件的SKEY,確定要使用的點(diǎn)的個(gè)數(shù)和各個(gè)點(diǎn)的功能,具有連接屬性的點(diǎn)就需要定義管徑和連接形式,參考點(diǎn)用來方便構(gòu)造元件外形; 3)第三步定義形集(Geometry),依據(jù)元件的外形和點(diǎn)集的設(shè)置,使用圓柱體、正方體、球體等基本體進(jìn)行外形的構(gòu)建,如果需要更加形象,可以使用負(fù)實(shí)體進(jìn)行開孔開洞等; 4)第四步在Category中輸入元件各管徑對應(yīng)的數(shù)值; 5)第五步如果此元件有螺栓,應(yīng)在螺栓集(Bolt Set)中定義或關(guān)聯(lián)螺栓表; 6)最后生成完整的元件,如下圖 2.3 ISODraft的定制開發(fā) 由于元件庫創(chuàng)建時(shí)基本上使用的都是已有的SKEY,因此對于PDMS提供的的ISODraft樣式不需要進(jìn)行過多的定制,就能滿足需求,只需要在以下方面進(jìn)行改進(jìn): 1)為了使軸測圖顯示更多的管道信息,便于現(xiàn)場埋地重力流管道的施工,將軸測圖的圖紙幅面定義為A2; 2)為了與ISO圖風(fēng)格一致,將軸測圖Material List定制在圖紙右側(cè); 3)將需要的管道信息如溫度、壓力等輸出到指定的位置; 4)為方便設(shè)計(jì)建模,單個(gè)裝置使用的是設(shè)計(jì)坐標(biāo)系統(tǒng),即將PDMS的坐標(biāo)原點(diǎn)作為裝置的坐標(biāo)原點(diǎn),但是埋地重力流管道一般以工廠坐標(biāo)作進(jìn)行定位,在不改變模型坐標(biāo)的情況下,將ISO圖和軸測圖輸出坐標(biāo)轉(zhuǎn)換為工廠坐標(biāo)。在模型中創(chuàng)建一個(gè)設(shè)備(EQUI)且命名為“PLANT_ZERO”,將其坐標(biāo)定義為工廠坐標(biāo)的反向坐標(biāo),然后在設(shè)置文件的Annotation選項(xiàng)中,將Origin Coordinates 更改為 “ID Name”選項(xiàng),且ID Name For Origin設(shè)置為“EQUI PLANT_ZERO”,經(jīng)測試輸出坐標(biāo)為工廠坐標(biāo),如下圖: 2.4 Draft模塊的二次開發(fā) Draft模塊的開發(fā)是此次開發(fā)的重點(diǎn)和難點(diǎn)。以往的埋地重力流管道圖紙只包含平面圖,不能完整地表達(dá)埋地重力流管網(wǎng)的整體布置和具體的管件連接。ISODraft模塊生成的軸測圖完美解決了管件的連接問題,使用Draft模塊的功能和PML語言進(jìn)行二次開發(fā),生成埋地重力流管道軸測圖,更好地指導(dǎo)現(xiàn)場施工和驗(yàn)收。 2.4.1首先要先清楚需要開發(fā)出什么樣的軸測圖,圖面的標(biāo)注、標(biāo)示等信息應(yīng)達(dá)到什么樣的深度,通過深入討論,形成了如下共識: 1)軸測圖不是平面圖也不是通常意義的ISO圖,不需要詳盡的表達(dá)連接方式、間隔尺寸等細(xì)節(jié)問題,要著重體現(xiàn)埋地重力流管道網(wǎng)絡(luò)體系的連接情況,因此對尺寸標(biāo)注、元件標(biāo)示的詳細(xì)程度要求較低; 2)圖面應(yīng)充分表達(dá)各管線之間、井與井之間的連接關(guān)系、地上管線與地下管線的連接關(guān)系,以及裝置與裝置、裝置與管網(wǎng)之間的連接關(guān)系; 3)圖面應(yīng)表達(dá)漏斗、地漏、清掃口的標(biāo)高信息; 4)應(yīng)體現(xiàn)關(guān)鍵的彎頭點(diǎn)標(biāo)高信息,方便計(jì)算傾斜管道鋪設(shè)的起止點(diǎn)標(biāo)高; 5)應(yīng)體現(xiàn)井與管道接口的標(biāo)高、方位,以及接口套管的數(shù)量; 6)應(yīng)體現(xiàn)井蓋的方位。 2.4.2為了實(shí)現(xiàn)軸測圖預(yù)想的功能,在Draft出圖時(shí)對以下方面做了配置和開發(fā): 1)將管道號按照分支(BRAN)的頭(HEAD)進(jìn)行管號標(biāo)注,為了避免圖面太雜亂,將管道用序號進(jìn)行標(biāo)示,然后在圖中生成序號與管號的對照表,根據(jù)分支的頭尾連接關(guān)系,很容易查詢管道的連接關(guān)系; 2)使用PML編程,對軸測方向上的管道進(jìn)行尺寸標(biāo)注,間距小于500mm的標(biāo)注將被省略; 3)使用PML編程對漏斗、地漏、清掃口進(jìn)行標(biāo)高標(biāo)注; 4)給特殊位置的彎頭添加自定義屬性(UDA),如“:SETPOINT”,在使用PML編程時(shí),所有屬性值為“Y”的彎頭,進(jìn)行標(biāo)高標(biāo)注; 5)為了表達(dá)管道與井的連接關(guān)系和接口的標(biāo)高,使用設(shè)備(EQUI)為井建模,與管道的接口使用對焊(BWD)形式的管嘴(NOZZ)進(jìn)行建模,這樣管道與井的接口就會體現(xiàn)在軸測圖中,再使用PML編程將接口的標(biāo)高、方位生成列表;每個(gè)接口對應(yīng)一個(gè)套管,將套管按直徑進(jìn)行匯總; 6)使用管嘴(NOZZ)為井蓋進(jìn)行建模,命名時(shí)使用特殊命名,如包含“JG”特殊字符,與其他接口區(qū)別開,再使用PML編程獲取其相對于井本體的方位角度,一并列入接口表,如圖二所示;最終的軸測圖效果如圖一所示(由于本文圖幅限制,僅體現(xiàn)了局部)。 圖一 軸測圖 圖二 井口表 2.4.3部分代碼 1)創(chuàng)建管道數(shù)組 var !pipes append coll all pipe within $!limit for $!Idname do !n index !pipes !pipename = namn of $!pipes[$!n] !str = '$!n,$!pipename' !list.append(!str) 解釋:在管道列表(!ldname)中尋找在空間!limit內(nèi)的管道,添加到數(shù)組!pipes中,然后取出每個(gè)管道的名字!pipename,再將管道序號!n和管道號形成對應(yīng)關(guān)系,追加到數(shù)組!list中。 2)創(chuàng)建需要標(biāo)注的漏斗、清掃口、地漏數(shù)組 var !memb coll all bran mem for $!brans[$!m] do !mem value !mems !dtxr = dtxr of $!mem if(mat(!dtxr,'漏斗') gt 0 or mat(!dtxr,'清掃口') gt 0 or mat(!dtxr,'地漏') gt 0)then !memcoll.append(!mem) 解釋:遍歷分支(BRAN)中的每個(gè)成員,當(dāng)描述中含有漏斗、清掃口、地漏時(shí),將其添加到數(shù)組!memcoll中。 3)創(chuàng)建需要標(biāo)注標(biāo)高的UDA彎頭數(shù)組 var !elems coll all elbo with (:setpoint eq 'Y') for $!bran do !elem value !elems !epos = p0pos of $!elem var !name '$!elem' !epose = !epos.east !eposn = !epos.north !eposu = !epos.up 解釋:將分支(BRAN)中:setPoint屬性為“Y”的彎頭創(chuàng)建為一個(gè)數(shù)組!elems,遍歷每個(gè)彎頭,將彎頭的X、Y、Z坐標(biāo)分別提取出來,便于生成標(biāo)高標(biāo)注。 4)創(chuàng)建井口表及井蓋數(shù)組 var !nozzs coll all nozz for $!equi do !nozz value !nozzs …… if(mat(!nozzname.part(3,'/'),'JG') gt 0)then !desc = '井蓋' 解釋:將設(shè)備(EQUI)中所有NOZZ創(chuàng)建為一個(gè)數(shù)組!nozzs,遍歷每個(gè)管嘴,將管嘴的X、Y、Z坐標(biāo)分別提取出來,并將含有“JG”的管嘴標(biāo)示為井蓋。 2.5 材料報(bào)表的定制開發(fā) PDMS自身帶有材料統(tǒng)計(jì)功能,但是其內(nèi)容與格式并不能滿足出版要求,AVEVA中國開發(fā)團(tuán)隊(duì)很早就認(rèn)識到這個(gè)問題,在其開發(fā)的工具集(Tookit)里面,加入了管道材料統(tǒng)計(jì)功能,生成一個(gè)*.CSV的材料表文件,基本滿足出版要求。為了使材料表更容易閱讀和檢查,我們又使用Visual Basic語言,根據(jù)編碼進(jìn)行了分類匯總,生成最終的材料表。 3 改進(jìn)與完善 通過我們對元件庫、等級庫、ISODraft模塊、Draft的開發(fā)和設(shè)置,已經(jīng)能生成滿足施工需要的埋地重力流管道軸測圖,很大程度上減少了錯(cuò)漏碰缺的問題,且一定程度上解決了設(shè)計(jì)質(zhì)量與施工進(jìn)度的沖突,但由于對PDMS還不是很了解,且PML編程水平有限,在以下方面還有改進(jìn)的空間: 1)由于使用Draft模塊的切圖功能,不能形象的了解切圖區(qū)域,只能不斷嘗試,滿足圖面和圖框的要求,下一步可以設(shè)法從Design 模塊中切圖,然后再到Draft模塊中處理; 2)Draft模塊生成的圖紙,導(dǎo)出為DWG文件時(shí),中文文字會出現(xiàn)亂碼,需要解決; 3)管道比較復(fù)雜時(shí),尺寸標(biāo)注、標(biāo)高標(biāo)注、管號標(biāo)注比較密集,會出現(xiàn)交叉重疊的現(xiàn)象,導(dǎo)致圖面較亂,需要進(jìn)一步解決。 4)為了盡快在工程項(xiàng)目中使用,在開發(fā)中忽略了一些數(shù)據(jù)的真實(shí)性,如連接形式的歸類、Skey的代用,都是此開發(fā)的瑕疵,需要在以后的維護(hù)中逐漸更正。 作者簡介: 宋繼偉 高級工程師,中國石油工程建設(shè)公司華東設(shè)計(jì)分公司 副總工程師 地址:山東省青島市市南區(qū)華嚴(yán)路2號 郵編:266001 參考文獻(xiàn): 1. PDMS隨機(jī)文檔 《Software Customisation Guide》 2. PDMS隨機(jī)文檔 《DRAFT Administrator Application User Guide》 3. PDMS隨機(jī)文檔 《DRAFT User Guide》 |