PDMS中包装散件定义操作方法

前言

在详细设计阶段,一条管线可能包含多个管段、阀门、仪表等部件,设计人员通常在建模的时候会使用一个PIPE。
如果这个管线是散件运输,那么每一个部件都是一个独立的个体,在一个PIPE下 我们如何管理这些部件呢?

我们可以使用PDMS Group World 和 Group Set 的功能在PDMS中对散件部件做定义,这样做完全不干涉原来的设计行为。

一些操作说明:

以下操作涉及到 pdms pml 语言
使用方法

  1. 打开pdms command line


    打开命令行.png
  2. 在 command window 中输出 show !!runmacro 打开宏编辑器


    调出宏编辑器.png
  3. 把代码粘贴在宏编辑器中,做适当的修改,点击run 执行宏代码


    执行宏.png

具体做法

1. 创建gpwl 和 gpset

创建散件层.png
-- create gpset level
new gpwl /Loose
new gpset /Loose/A1 
new gpset /Loose/A1/PIP end
new gpset /Loose/A1/STR end
new gpset /Loose/A1/ELC end
new gpset /Loose/A1/EQU end
end
new gpset /Loose/A2
new gpset /Loose/A2/PIP end
new gpset /Loose/A2/STR end
new gpset /Loose/A2/ELC end
new gpset /Loose/A2/EQU end
end
new gpset /Loose/A4
new gpset /Loose/A4/PIP end
new gpset /Loose/A4/STR end
new gpset /Loose/A4/ELC end
new gpset /Loose/A4/EQU end
end
new gpset /Loose/A5
new gpset /Loose/A5/PIP end
new gpset /Loose/A5/STR end
new gpset /Loose/A5/ELC end
new gpset /Loose/A5/EQU end
end

2. 移动选择散件并且移动到对应的gpset中

注意修改 /Loose/A1/PIP 这是需要添加的父级

loose.gif

-- add loose to gpset 
!selection = object SELECTION()
!selection.getCurrent()
!selectionlist = !selection.getSelection()

!m = !selectionlist[1]
var !pipename name of pipe of $!m
do !i from 1 to 100
  !loosename = '/Loose' + !pipename + '-' + !i.string()
  $!loosename
  handle (2,109)
    break
  endhandle
enddo
/Loose/A1/PIP
new gpset $!loosename
do !x values !selectionlist
    if !x.type neq 'BRAN' then
    gadd  $!x
endif
enddo

3. 上色检查

-- enhance color on members
!ce = !!CE
!gpsets = !ce.mem
do !i indic !gpsets
  !gpset = !gpsets[$!i]
  q var !gpset.name
  !all = !gpset.mem
  q var !all
  do !element values  !all
    !sitem = !element.sitem
    enhance $!sitem col $!i
  enddo
enddo

上色检查.png

4. 删除gpset

如果要删除gpset 的成员 请使用

delete gpset mem

千万不要右键成员删除,那会删除模型中元件的!!!
如果要删除gpset 请使用

delete gpset
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容