官楊

摘 要:該文介紹了我公司在使用PDMS過程中針對化工項目的需求和最終成品文件的要求對該軟件進行的定制與開發,例如參數化元件的設置與應用,自定義工具集在DESIGN模塊下的使用,EXCEL宏程序批量處理管道材料等級描述的編寫,Paragon模塊中螺栓等級多選設置,單線圖圖框屬性的提取以及在模型復用中常用到的report等等。在使用過程中還將不斷進行配置與修改以更好的配合各項目的實施。
關鍵詞:PDMS 定制 開發 宏文件
中圖分類號:F272 文獻標識碼:A 文章編號:1674-098X(2016)01(a)-0007-03
PDMS軟件為目前主流的幾款三維工程設計軟件之一,也是今后數字集成平臺的主要工具之一。我公司使用PDMS數年來也在不斷的對軟件進行定制與開發,以更好的配合各工程項目的使用與成品文件的輸出。
1 PDMS在項目中的定制與開發
以下內容為針對公司項目要求與出圖出料規定進行的幾項定制與開發。
1.1 參數化元件
項目進行過程中,要陸續添加特殊件和儀表件。部分元件例如:金屬軟管、膨脹節、調節閥等,這些元件有一個共同的屬性就是同一管徑的元件有不同的安裝長度和高度,按普通建元件的方法處理這類管件就顯的很繁瑣,故采用建立參數化元件的方法處理此類元件。
以調節閥為例說明步驟如下。
(1)確定要參數化的元件設計參數:安裝長度,膜頭高度。
(2)在數據集中設置具體屬性參數化,將具體屬性參數化,將屬性確定為Design Parameter,屬性的性質也由PARA[1]改為DESP[1]。根據需要參數化的需要確定改變屬性的數量,且在N?中用1、2….標記參數化屬性的序號。此時在命令行查詢數據集中屬性Property(ATTRIB DESP[1])Purpose DESP,在Default項添加參數化屬性的缺省值??梢栽趕com中給出常用尺寸,在Design模塊直接調用缺省值。
(3)Paragon模塊查看參數化效果。
元件參數化之后,以前元件的定位尺寸為0,組成元件的基本體就疊在了一起,可用該命令輸入具體尺寸查看元件的大小變化。
(4)重新設置點集、型集的屬性參考。
將安裝長度,模頭高度等與具體參數化的屬性相關的各個點、基本體重新設置,將以前的參考PARA[]改為DESP[]。再將型集關聯的參數修改為DESP。
(5)Design模塊的應用。
模型中繪制好的元件通過修改屬性Modify\Properties,在參數化屬性中輸入數值,改變元件的安裝長度和高度等參數。
1.2 自定義工具集
軟件自帶的工具集內容不能夠完全滿足項目的需要,可以將自定義的程序文件整合到自定義工具集里供設計人員使用。創建方式為\PDMSUI\des\addins路徑下修改add文件添加工具菜單名稱,\PMLLIB\design\objects路徑下add.pmlobj文件中的語句為定義工具調用的內容。
(1)例如將儀表點報告直接加入工具集中,該類型調用的是報告模板。
define method .menus()
!menu = object APPMENU(‘add)
!menu.add(‘CALLBACK,|儀表坐標報表|,'$M \\pma\proj\addtool\report\instrument_list.tmp')
(2)例如將自動生成模型Review程序加入工具集,該類型調用的是PML。
!menu.add('FORM',|Review文件生成|, 'FExpRvmAtt')
(3)例如添加單線圖圖號到工具集中,該類型調用的是宏文件。
!menu.add('CALLBACK',|輸入圖號|,'$M \\pma\proj\addtool\INPUTDESC.MAC)
工具集中調用的所有文件類型都需要自定義編寫。
1.3 EXCEL宏程序
根據公司管道材料等級EXCEL格式編寫程序提取材料等級中的描述與每個元件描述對應的SKEY值直接導入PDMS等級庫里。
(1)提取管道等級EXCEL文件中材料描述語句示例。
Rtext = Trim$(Cells(i, 1).Value) &","& Trim$(Cells(i, 13).Value) &","& Trim$(Cells(i, 21).Value) &","& Trim$(Cells(i, 17).Value) &","& Trim$(Cells(i, 9).Value) &","& Trim$(Cells(i, 25).Value)
(2)列舉三通元件的描述選取SKEY值語句。
ElseIf InStr(UCase(Cells(i, 1)), "三通") > 0 Then '三通
If InStr(UCase(Cells(i, 21)), "BW") > 0 Then
Skey = "TEBW"
ElseIf InStr(UCase(Cells(i, 21)), "BF") > 0 Then
Skey = "TEBW"
ElseIf InStr(UCase(Cells(i, 21)), "SW") > 0 Then
Skey = "TESW"
ElseIf InStr(UCase(Cells(i, 21)), "NPT") > 0 Then
Skey = "TESC"
ElseIf InStr(UCase(Cells(i, 21)), "RF") > 0 Then
Skey = "TEFL"
1.4 螺栓等級多選
在公司項目中會經常出現同一個管道材料等級選用兩種體系的壓力等級,或者同一個管道材料等級下有兩筆螺栓的料。由于螺栓在PDMS中屬于隱含材料,繪圖時會跟著法蘭自動帶出,因此當遇上這種情況時需要對螺栓等級進行多選的設置,繪圖之后設計人員需要對法蘭連接的元件進行螺栓的選擇才能抽出正確的螺栓材料。例如:管道材料等級中的螺栓需要做低溫沖擊試驗,就產生了常溫情況下的螺栓與溫度低于-20℃需要做低溫沖擊試驗的螺栓,那么在同一等級下需要兩種螺栓。此情況下可以使用多選螺栓等級。
如下圖1螺栓多選等級所示增加螺栓多選BSEL選項,缺省螺栓寫在前面。
Design中繪制出的螺栓為缺省螺栓,要選擇低溫沖擊試驗的螺栓時,所有法蘭和閥門需要設置BSEL屬性。選中法蘭元件Modify Attributes中Bselector填寫L之后抽取的單線圖中螺栓即為需做低溫沖擊試驗的螺栓。單線圖抽取之后會查看到螺栓材料的改變。因此設計人員需要留心每個管道等級的螺栓材料,如有不同壓力體系或者不同材料的螺栓出現時需要對螺栓進行選擇。
1.5 單線圖圖框屬性提取
公司單線圖圖框位置需要顯示每根管線的LineID,圖號,物料代號,保溫等級,保溫厚度,管道分級等屬性。以給每根管線號添加圖號作為示例。項目單線圖圖號要求為圖號加上管線號(LineID)1209-5-10-60A-PL11-02-LineID.在Pipe的屬性中將圖號屬性賦值給DESC屬性,宏文件的編寫程序如下。
var !allPIPE coll all PIPE for ce
do !kk value !allPIPE
$!kk
!PIPEname = name
!pipelab = !pipeNAME.before('#')
!pipelab1 ='1209-5-10-60A-PL11-02-'+ !pipelab.part(1,'-') + '-' + !pipelab.part(2,'-')
!pipelab2 ='1209-5-10-60A-PL11-02-'+ !pipelab1.after('/')
DESC '$!pipelab2'
Enddo
之后在模型中Pipe層次運行該宏文件時所有管線DESC屬性中都生成了對應的圖號,在單線圖OPTION文件中將DESC屬性放置在圖框相應的位置上之后圖號就顯示出來了。同理,其他圖框上的屬性都可以通過這種方式添加。
1.6 模型復用
公司大多數項目的二期布置與一期類似,可以整體拷貝一期已建模型,之后整體修改拷貝過來的模型管線號,設備號,儀表特殊件號等,免去設計人員二次建模,大大提高效率。可以通過Quick report語句快速報出每個類別的NAME進行整體修改后再導入模型中即可。要確保復制的設備管口信息不丟失必須先用DB Listing報出設備后修改設備位號管口號再導入模型中。管線名稱,分支名稱,設備位號,管口號,儀表都要定義好各自的TYPE 類型,報出NAME 修改即可。特殊件位號TYPE類型為BRAN MEM,還需要做篩選語句MATCH(NAME OF SPREF,'SPEC') GT 0,此外還需要批量修改管口連接信息,報出NOZZ類別的CREF進行修改。
2 結語
目前公司使用的三維軟件有PDMS,PDS,SP3D。由于PDMS軟件更便于操作和更易于管理開發,因此大部分項目幾乎都已經使用PDMS,希望在今后的使用過程中不斷優化完善PDMS的定制開發工作,更好的服務于項目,更多的減輕設計人員的勞動力,提高工作效率與設計的準確性。
參考文獻
[1] 張志鳳.PDMS軟件在蘭州高壓聚乙烯配管中的應用[J].化工設計通訊,2007(1):43-45.
[2] 張明志,郝倩.淺析PDMS三維布置設計在火電項目中的應用[J].中國工程咨詢,2007(7):18-19.