江保軍 鮑景明 翟家海 楊明偉



摘要:本文首先對PDMS軟件的設(shè)備建模方式進(jìn)行了概述,同時比較了不同設(shè)備建模方式的特點,結(jié)合PDMS軟件的二次開發(fā)方法,重點介紹了.NET二次開發(fā)技術(shù)在PDMS設(shè)備建模中的應(yīng)用,通過典型的示例代碼,詳細(xì)描述了二次開發(fā)的流程,與軟件自帶的設(shè)備建模方法相比,通過二次開發(fā),可以大大提高設(shè)備的建模效率。
關(guān)鍵詞:設(shè)備建模;二次開發(fā);PDMS
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2020)08-0160-03
0 引言
PDMS(Plant Design Management System)是英國AVEVA公司開發(fā)的三維工廠設(shè)計系統(tǒng),自從1977年第一個PDMS商業(yè)版本發(fā)布以來,PDMS就成為大型、復(fù)雜工廠設(shè)計項目的首選設(shè)計軟件系統(tǒng)。PDMS軟件可以通過網(wǎng)絡(luò)實現(xiàn)多專業(yè)的協(xié)同設(shè)計,針對專業(yè)特點劃分為多個模塊,包括項目管理、元件庫、三維設(shè)計、軸測圖生成等,其中三維設(shè)計又包括設(shè)備、管道、結(jié)構(gòu)、暖通、電纜橋架等不同模塊,配管設(shè)計是PDMS軟件的強(qiáng)項,而設(shè)備建模功能與專業(yè)的三維設(shè)計軟件相比相對較弱。由于PDMS軟件開放性較好,可以通過PML或.NET等編程技術(shù)對軟件的基本功能進(jìn)行增強(qiáng)和完善,因此,可以通過二次開發(fā)技術(shù),改善設(shè)備建模的操作方式,大大提高設(shè)備建模效率。
1 PDMS設(shè)備建模概述
PDMS軟件中的設(shè)備是由多個基本體Primitive拼裝起來的,基本體參考設(shè)備定位點生成和定位,構(gòu)成設(shè)備主要的基本體有圓柱、矩形、圓臺、圓盤和管嘴等,PDMS軟件自身支持的設(shè)備生成方法有以下幾種:
(1)基本設(shè)備模板。基本設(shè)備模板包含立式設(shè)備、臥式設(shè)備、換熱器、儲罐、空冷和泵等6大類設(shè)備,基本設(shè)備模板參數(shù)不能通過界面修改,通常基本設(shè)備模板用來生成設(shè)備本體模型,需要再根據(jù)圖紙要求添加和定位管嘴。
(2)參數(shù)化設(shè)備模板。參數(shù)化設(shè)備模板的中可以定義管嘴的信息,但是一旦新的設(shè)備基本體組成或管嘴數(shù)量發(fā)生變化,該模板也不能完全適合,仍然需要進(jìn)行完善。
(3)搭積木方式。通過逐一建立基本體和管嘴,并完成基本體之間的定位,由于涉及到大量移動、旋轉(zhuǎn)等定位操作,該方式建模效率最低。
(4)讀取宏文件或通過軟件接口輸入模型。讀取宏文件的前提是別的項目已經(jīng)有同樣的設(shè)備模型,不屬于設(shè)備建模范疇。而通過軟件接口輸入第三方軟件的模型,在PDMS軟件中識別為一個塊,需要重新定義管嘴的信息,使用起來并不方便。
2 設(shè)備建模二次開發(fā)
2.1 二次開發(fā)方法
PDMS軟件為半開放型的軟件,可以很方便進(jìn)行二次開發(fā),主要的開發(fā)工具有PML可編程宏語言和.NET開發(fā)平臺。其中PML語言簡單易學(xué),與PDMS無縫連接,而新版本的PDMS開始支持利用.NET進(jìn)行二次開發(fā),.NET與PML相比有獨特的優(yōu)勢,可以完成PML不支持的功能,同時又可以利用.NET平臺的大量類庫,其生成的文件為dll文件,有利于保護(hù)程序的源代碼。本文利用.NET在PDMS12.0 SP4軟件平臺上進(jìn)行設(shè)備建模的二次開發(fā)。
2.2 設(shè)備數(shù)據(jù)庫的層次
設(shè)備數(shù)據(jù)庫的層次如圖1所示,設(shè)備單元位于Zone層下,設(shè)備下分子設(shè)備、基本體,子設(shè)備下包含基本體。
2.3 程序開發(fā)流程
設(shè)備建模程序需要按照設(shè)備的次序依次輸入構(gòu)成設(shè)備本體的基本體尺寸參數(shù),根據(jù)設(shè)計圖紙依次輸入各基本體上的管嘴參數(shù),包括管嘴的定位參數(shù)和規(guī)格尺寸。設(shè)備建模的程序流程如圖2所示。
開發(fā)完成的程序主界面如圖3所示,程序默認(rèn)由底部向上部(對于臥式設(shè)備由右側(cè)向左側(cè))依次添加基本體,然后分別選擇各基本體,添加管嘴信息。對于設(shè)置完成的數(shù)據(jù)信息可以進(jìn)行保存和讀取。
(1)創(chuàng)建設(shè)備單元。按照圖1的數(shù)據(jù)庫接口層次,創(chuàng)建設(shè)備單元前需要選擇Zone層次的對象,下面的示例代碼演示了在當(dāng)前選擇的Zone層下創(chuàng)建了一個設(shè)備單元,然后通過SetAttribute方法分別設(shè)置了設(shè)備的名稱(NAME)和位置(POSI)屬性。
(2)創(chuàng)建基本體。按照圖1的數(shù)據(jù)庫接口層次,基本體由設(shè)備單元創(chuàng)建,基本體的類型通過單元類型變量DbEle- mentTypeInstance.CYLINDER指定,然后根據(jù)不同的基本體類型,通過SetAttribute方法分別設(shè)置基本體的幾何尺寸及位置參數(shù),下面的代碼演示了如何創(chuàng)建圓柱體類型的基本體。
(3)創(chuàng)建管嘴。按照圖1的數(shù)據(jù)庫接口層次,管嘴由設(shè)備單元創(chuàng)建,下面的示例代碼演示了一個管嘴的創(chuàng)建及屬性的設(shè)置方法。其中管嘴的等級參數(shù)通過CATR參數(shù)進(jìn)行設(shè)置,其參數(shù)類型為DbElement,通過GetElement方法獲取,可以同時設(shè)置管嘴的標(biāo)準(zhǔn)、壓力等級和公稱直徑。
3 結(jié)語
本文通過實例演示了二次開發(fā)技術(shù)在PDMS設(shè)備建模中的應(yīng)用,與軟件自帶的設(shè)備建模功能相比,采用二次開發(fā)技術(shù),可以完全代替內(nèi)置的設(shè)備基本模板和設(shè)備參數(shù)化模板,并且在參數(shù)的輸入上更加便捷,更符合設(shè)備圖紙尺寸標(biāo)注習(xí)慣,對于系統(tǒng)模板外的設(shè)備,由于完全取消了各單元之間的定位操作,可以大大提高建模效率。
參考文獻(xiàn)
[1] 張博,陳冬霞.利用PML語言開發(fā)PDMS建模[J].數(shù)字技術(shù)與應(yīng)用,2014(6):189+191.
[2] 王小科,呂雙.C#程序設(shè)計標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2009.