PDMS针对化工项目的定制与开发
2016-05-30官杨
官杨
摘 要:该文介绍了我公司在使用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项添加参数化属性的缺省值。可以在scom中给出常用尺寸,在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.