PDMS二次开发介绍-基于.Net(C#)平台

合集下载

一个PDMS中的PML二次开发程序—结构平台委托的自动生成工具

一个PDMS中的PML二次开发程序—结构平台委托的自动生成工具

一个PDMS中的PML二次开发程序—结构平台委托的自动
生成工具
李书剑
【期刊名称】《数字技术与应用》
【年(卷),期】2017(000)009
【摘要】本文介绍了一个化工设计中用于结构平台委托的程序的开发思路与应用.【总页数】2页(P174-175)
【作者】李书剑
【作者单位】中石化广州工程公司,广东广州 510620
【正文语种】中文
【中图分类】TP311.1
【相关文献】
1.PDMS二次开发在海洋石油平台电缆模块设计中的应用 [J], 王晶;李震;关迪
2.PDMS二次开发在海洋石油平台电缆模块设计中的应用 [J], 王晶;李震;关迪;
3.利用PML程序实现PDMS管道支架的编号 [J], 王可
4.一个PDMS中的PML二次开发程序-结构平台委托的自动生成工具 [J], 李书剑
5.PDMS二次开发语言PML与.NET(C#)的对比 [J], 魏恒
因版权原因,仅展示原文概要,查看原文内容请购买。

pdms二次开发

pdms二次开发

基本调试方法
• 跟踪代码 • 跟踪变量 • 手工断点 • 日志文件
编码规范
• 缩进 • 变量/方法命名 • 空格/间距 • 注释 • 方法的长度 • 全局变量
PML实例2: 属性批量编辑器
设计基本界面
• member • List节点列表 • 属性列表 • 属性编辑框
属性列表
• 遍历属性 • 去掉不能修改的属性 • 筛选: 类型/名字相同 • 进一步筛选: 值相同
字符串(String)的常用方法
• 字符串长度 Length() • 类型转换 Real(),Position(),Boolean() • 大小写转换 LowCase(),UpCase() • 两端截取 After(str2),Before(str2),Substring(index) • 中间截取 Substring(index,nchars) • 替换 Replace(str2,str3) • 匹配 Match(str2),MatchWild(str2) • 分割(返回数组) Split() • 修剪 Trim()
• 内容
name: tempMenu directory: tempMenu showOnMenu: TRUE object: tempMenuObject title: tempMenu
常用控件
• Button 按钮 • Text 文本框 • option下拉列表 • List 列表框 • rgroup 单选框 • toggle 复选框
更新位置信息
• Position类型 • 相对位置/绝对位置 • 修改位置信息 • 负实体(相对父节点调整)
基本体缩放
• 如何遍历属性 • 生成修改属性的代码
封装为函数
• 定义Function • 文件存放位置 • 调用方式 • 提取参数 • 封装缩放的代码

01.PDMS介绍

01.PDMS介绍

5
Database层次结构
▪ PDMS 数据库是一个树状结构数据库 ▪ 元素(Element) - 层次结构中的节点
Element
Database
Element
Element
Element
Member List
设计DB World /*
Site Zone Equipment Nozzle
所有这些 都是元素 (Element)
选选择择模模块块
点点击击进进入入
选选择择工工程程项项 目目 选选择择 用用户户 输输入入用用户户口口 令令
调调用用 缺缺省省值值
设计模块图形界面(GUI)
工具条 操作提示
主菜单区域
工具条 状态提示区
Member List
PDMS数据库元素列表, 所有数据库组(MDB)内的 元素都可在此列表显示
Graphic View 三维模型显示区
课程结束后 ...
▪ 您应有以下知识 …
– PDMS概念 – PDMS数据库(Databases) – PDMS模块(Modules) – PDMS图形界面(GUI )
请示意我暂停课程 ,如果...
▪ 您有问题要问 ▪ 您觉得我讲得太快
PDMS 概念
▪ P D M S 的含义是什么?
Plant Design Management System
对话框
Radio Buttons Text Box
7
不知道如何操作时 ...
▪ Help…(按F1激活)
– 关于内容的帮助(On Text) – 关于当前窗口的帮助(On Window) – 帮助索引(Index) – 如何使用帮助(On Help) – 关于版本的帮助(On Versions)

基于PDMS三维设计平台的小管二次设计研究与应用

基于PDMS三维设计平台的小管二次设计研究与应用

基于PDMS三维设计平台的小管二次设计研究与应用摘要:CPR1000系列核电机组常规岛管道工程量大,阀门数量多,二次设计难度较大。

本文基于PDMS三维设计平台,对小管二次设计进行研究,并在某核电厂常规岛安装中予以应用,实现了二次设计水平与安装管理水平的双提升。

关键词:核电;常规岛;PDMS;小管;二次设计1 引言CPR1000系列机型常规岛管道工程量大,阀门数量多,二次设计难度较大。

采用静态三维模型或CAD平面设计等方式设计,主要存在以下不足:(1)静态三维模型设计,由施工单位自行根据土建图纸建模后开展设计,厂房结构绘制粗略,准确性、实时性、全面性不足。

(2)采用CAD平面设计,需现场测绘,无法提前开展小管二次设计及安装,对系统安装连续性造成影响。

(3)布置美观性存在不足,各区域、系统小管设计缺乏统一技术指导,设计差异性大;设计兼顾性差,碰撞严重,返工修改量大。

(4)阀门布置合理性存在不足,操作、检修空间不足,各功能性管线间距不足。

综上所述,传统的小管二次设计方式存在诸多不足,难以满足小管设计水平提升,安装规范性、美观性等进一步提升的需求。

应用三维设计平台后,传统的管理模式已不再适用,如何充分利用PDMS设计平台优势,创建新的设计方案,落实前期经验反馈,提升设计水平,提升安装工艺,成为亟待解决的问题。

2 论文内容2.1总述:本文主要针对现场搭建PDMS设计平台后,与设计院后台开展联动,实时动态开展二次设计。

创建新的设计方案,利用现场安装人员技术优势,最大化的发挥三维设计平台的功效,提升二次设计水平,拓展三维平台应用价值,对管道安装工艺提升、创建精品工程具有积极意义。

2.2总体设计方案PDMS平台在设计院有其严格的出图校审流程,作为现场应用方,在借鉴设计院基础上,经过相关设计、技术、管理人员的研讨,规范了基于PDMS平台的二次设计流程,编制了现场管道及支架二次设计程序:2.3在线三维图纸会审2.3.1会审小组组成:图纸设计均由有资质的设计单位、人员执行,为发挥现场各单位经验优势,落实经验反馈,在图纸会审人员组成上,强化了现场人员的参与。

一个PDMS中的PML二次开发程序-结构平台委托的自动生成工具

一个PDMS中的PML二次开发程序-结构平台委托的自动生成工具
… … ~ … “ … 一 —
i 痔 母 嚣 稚薅 辘 审 蝴葡 磁 堂 静 菱 鞲 糍 普扭 舞 煮 稚
i j
一 { …… … ~ …


根据管径判断开洞太小
… … … … …

撮摇智控判断开洞替载

霉 熟 礁 。
% 舄| 祷毒≥ 蔫霉罄
豳描

{ ——————————————— l _ … 一~ 一~ … … 一… 一 龟 找到范围内平台荷载点
’ _

¥ - H _
— —
q I q Ⅷ _ 目 口
— — — —

{ j ;










…一…~ 一 …’ …
蔷 噶 蔷
情况, 校审及后期会签 的工 作量 大 , 且修改不便。 针对 以上 问题 , 我们考虑开发一 个应用程序从P DMS 工厂三维





曼 … … 曼 … …… 一 … …~… 鐾 一
褒 蓥掀壤


Hale Waihona Puke 模型 中直接生成给结构专业 的平 台委 托资料 , 通过进一 步的开发 , 将 来也可生成其他专、 I J , 委托资料 。
中 图 分类 号 : TP 3 1 1 1 文献标识 ̄ B - : A 文章 编 号 : 1 0 0 7 — 9 4 l 6 ( 2 0 l 7 } 0 9 — 0 1 7 4 一 ( ) 2
1引言
( 1 ) 如何判断管道是 否穿洞 : 解决 方 ’ 案: 利用P M1 找 所 仃平台 范 闻内直管段( TUB I ) , 然后判断直管段 , 如果直管段 - j . 分别 化工 及炼 油设 计中 , 管道设计专业 的工作 主要 包括 两部分 , 一 位于 平台上下两侧 , 则判断其为穿洞。 ( 2 ) 如何判断管道”洲 人小: 解 是搭建工厂三维模型 , 生成施工 图纸和材料报表 , 二是 向各专业提 决方案: 首先判断管道外径( a b o r ) , 然J f 『 彳 判断管道保温厚馊 , 史 足否伴 交委托资料。 在委托资料 中, 工作量最大的是 向结构专业提交 的平 由于不同工艺包 中埘伴热及保 温的描述不问 , 所 以增加 r单独 台委托资料 。 目前 , 同内绝大多数设计院管道设计专业 向结构专业 热 , 判断保温的 白选命令。 ( 3 ) 如何判断荷载点 他置 : 解决方 案: 搜_ j . 所有 的委托还停 留在纯 一 : 维规划阶段 , 不仅要在模型 中对平台上存在 的 在平 台上方2 米范围 内的 的承重 支架( 按照逻辑支架的类 进行设 大量 管道穿洞及简载点进行测量 , 还要在C A D中进行大量重复 的绘 , 并 记录其坐标 , _ 判断为荷载点 , 增 加 门定 义_ 茼 载点功能 , 对未能 编辑工作 , 以 ・ 个冷 换构架为例 , 二维绘 图往往需要一 周甚至更 置) 罐 饔 蔓 判断的荷 载点 , 可手动 毒 蓦 龉 一 击模型添加。 ( 4 ) 如何 门动 ’ 台 f ‘ 洞: 解 长时间 , 而且 由于 人 r 输入量较大 , 常存在漏掉荷载点或者开洞 的

[原创]PDMS软件的二次开发及应用

[原创]PDMS软件的二次开发及应用

[原创]PDMS软件的二次开发及应用PDMS软件的二次开发及应用姓名:王晶指导老师:郭琳实习单位:建造公司技术部电议室毕业院校:哈尔滨工业大学所学专业:软件工程2010 年 12 月摘要PDMS软件在许多行业中流行,适应多种行业建模,具有一定的普遍性。

PDMS软件能够进行的三维建模可直接生成自动标注的分专业或多专业布置图、单管图、配管图、结构图、支吊架安装图,并抽取材料等。

PDMS软件的引进为公司带来了更多的方便提高了效率和准确度,但由于该软件的普及性特点注定了对本公司所涉及的工程项目不具备针对性,虽然带来了巨大的效益,同时对于具体项目而言仍然不可避免的存在着某些繁琐复杂的手工工作程序。

本课题使用PML语言对PDMS软件进行了二次开发,提供了多个扩展功能,通过与原软件风格相融合的图形化形式展示给用户,操作方便,不但解决了工作中存在的许多重复、耗时的工作,提高工作效率,增强计算准确率,也成为PDMS的二次开发的真实实践,掌握一种新的技术。

对PDMS软件新增功能的使用将为公司带来更高效、更省时的收益,并将随着该技术的不断完善、熟练,成为公司的一种商品为公司带来新的效益。

关键词:PDMS;PML语言;文件存储;Add-ins;目录摘要.................................................I 目录................................................II 一概述..............................................1 1.1 课题背景及研究目的 . (1)1.1.1 与课题相关的研究综述 (1)1.1.2 课题研究目的与意义 ...........................2 1.2 课题研究的创新点 ................................. 2 二研究方案............................................52.1 技术方案 (5)2.1.1 PDMS运行机制及二次开发技术 (5)2.1.2 PML功能及构成 ..............................7 2.2 技术关键 (7)2.2.1 PML 中Add-ins的应用 (8)2.2.2 PML文件存储机制 (8)2.2.3 PML对象的应用 .............................10 三 PDMS扩展功能介绍及应用 ............................113.1 PDMS扩展功能界面展示 .......................... 11 3.2 电缆路径自动敷设及电缆长度统计功能 .............. 12 3.3 托架上某截面电缆信息的展示功能 .................. 15 3.4 填充率计算及护管选型功能 ........................ 16 3.5 错误路径删除及打印单个路径图纸功能 .............. 18 3.6 相关联的其它扩展功能 ............................ 19 四总结.............................................20 五参考文献...........................................21 六致谢 (22)一概述1.1 课题背景及研究目的PDMS软件作为一个三维工厂设计系统应用于五十多个国家,其中石油、化工、制药行业用户占42%。

一个PDMS中的PML二次开发程序—结构平台委托的自动生成工具

一个PDMS中的PML二次开发程序—结构平台委托的自动生成工具

一个PDMS中的PML二次开发程序—结构平台委托的自动生成工具李书剑【摘要】本文介绍了一个化工设计中用于结构平台委托的程序的开发思路与应用.【期刊名称】《数字技术与应用》【年(卷),期】2017(000)009【总页数】2页(P174-175)【关键词】PDMS;PML;二次开发;结构平台委托【作者】李书剑【作者单位】中石化广州工程公司,广东广州 510620【正文语种】中文【中图分类】TP311.1化工及炼油设计中,管道设计专业的工作主要包括两部分,一是搭建工厂三维模型,生成施工图纸和材料报表,二是向各专业提交委托资料。

在委托资料中,工作量最大的是向结构专业提交的平台委托资料。

目前,国内绝大多数设计院管道设计专业向结构专业的委托还停留在纯二维规划阶段,不仅要在模型中对平台上存在的大量管道穿洞及荷载点进行测量,还要在CAD中进行大量重复的绘图编辑工作,以一个冷换构架为例,二维绘图往往需要一周甚至更长时间,而且由于人工输入量较大,常存在漏掉荷载点或者开洞的情况,校审及后期会签的工作量大,且修改不便。

针对以上问题,我们考虑开发一个应用程序从PDMS工厂三维模型中直接生成给结构专业的平台委托资料,通过进一步的开发,将来也可生成其他专业委托资料。

(1)程序原理分析。

平台委托自动生成的内容包括:判断荷载点的位置及大小,开洞的尺寸及定位,后期的自动标注和分图等,具体实现路径如表1。

(2)程序应用范围。

本程序适用于包括PDMS11.5, PDMS12.0,E3D在内的主要版本PDMS客户端。

(3)主要设计理念。

设计时的主要理念与难点如下:(1)如何判断管道是否穿洞:解决方案:利用PML找出所有平台范围内直管段(TUBI),然后判断直管段头尾,如果直管段头尾分别位于平台上下两侧,则判断其为穿洞。

(2)如何判断管道开洞大小:解决方案:首先判断管道外径(abor),然后判断管道保温厚度及是否伴热,由于不同工艺包中对伴热及保温的描述不同,所以增加了单独判断保温的自选命令。

PDMS二次开发介绍-基于.Net(C#)平台

PDMS二次开发介绍-基于.Net(C#)平台
ShowAttributeBrowserCommand showCommand = new ShowAttributeBrowserCommand(attributeListWindow); mands.Add(showCommand);
创建工具条按钮,调用新写的命令
撤销机制
UndoTransaction trans = UndoTransaction.GetUndoTransaction(); trans.StartTransaction("My Transaction");
// 模拟修改 String s1 = Example.Instance.mEqui.GetString(DbAttributeInstance.DESC); String s2 = String.Concat(s1, "x"); Example.Instance.mEqui.SetAttribute(DbAttributeInstance.DESC, s2); trans.EndTransaction(); // 撤销操作,回到原来值 UndoTransaction.PerformUndo(); // 设置撤销标记
HelloWord插件
• 可加载插件必须从这个接口类派生:Iaddin,有几个虚函数可以重写。 启动PDMS加载时调用Start(),关闭PDMS时,调用Stop()。
• 添加引用DLL,及命名空间。Pdms安装主目录中提供了各类需引用的dll。 Aveva.ApplicationFramework.dll
通过代码与配置文件结合的方式,代码获取工具条管理 类,加载相应的Ur commandBarManager
= (CommandBarManager)serviceManager.GetSer vice(typeof(CommandBarManager)); commandBarManager.AddUICustomizationFile ("AttributeBrowser.uic", "AttributeBrowser");

PDMS自动设置保温二次开发研究

PDMS自动设置保温二次开发研究

PDMS自动设置保温二次开发研究发表时间:2019-08-29T16:38:38.750Z 来源:《云南电业》2019年2期作者:汪园松[导读] PDMS软件具备强大的二次开发能力,可以依据自身需求,通过软件自带的PML语言进行灵活开发,更多高级功能可以依托及A VEV 技术采用C#等语言进行二次开发。

(中冶南方都市环保工程技术股份有限公司武汉)摘要:针对公司煤气发电三维设计的热力管道设计工作中的保温设计需要花费大量时间进行人工设置,且不能精准保证设置的保温厚度满足设计要求,采用AVEVA公司PDMS软件自带PML语言进行二次开发,利用保温厚度与管道设计温度及管径等存在强逻辑关系来研究在管道布置设计完成后统一批量进行保温厚度设置,提高工作效率。

Research on automatic setting insulation in PDMS by secondary development正文:近年来,随着国内外三维设计软件的不断成熟,设计行业正处于由二维设计向三维设计不断转化阶段,目前电力设计行业普遍采用AVEVA公司的三维工程设计软件PDMS为工艺专业核心设计平台。

该软件具有强大的全流程设计能力,且具备一定的多专业协同设计能力。

PDMS软件具备强大的二次开发能力,可以依据自身需求,通过软件自带的PML语言进行灵活开发,更多高级功能可以依托 及技术采用C#等语言进行二次开发。

管道保温设计是工艺专业布置设计工作的重要组成部分,管道保温设计需要根据管道的设计温度、管径及壁厚等相关信息,综合判定设计保温厚度与保温材料。

目前方法是利用PDMS自带保温等级属性给PIPE及BRANCH层次赋予对应保温厚度等级。

图2 开发逻辑流程图二、开发流程:1.根据设计规范要求,将二维保温厚度表转化为单列清单,形成管径+温度+保温厚度对应清单,依次录入三个TXT文档中。

图3:保温厚度表(局部截图)2.对三个文本进行综合匹配,最终得出管线的实际保温厚度,并将对应保温等级赋值给管道所有管部件(管道Pipe或Branch层次)3.开发管线批量设置功能,遍历SITE或ZONE层次的所有管线Pipe,获取他们的温度就管径属性,循环计算每个Pipe的实际保温厚度,赋给保温等级,并对Pipe下所有的管部件赋给统一的保温等级。

PDMS.NET二次开发在石油化工工程设计中的应用

PDMS.NET二次开发在石油化工工程设计中的应用

2018年11月中的应用效率。

如果大型煤制甲醇的规模在1000t/d 以下,则可以选择单合成塔或者并联合成塔。

大型煤制甲醇规模在1000t/d/-2000t/d 之间时,采用串塔的方式,大型煤制甲醇规模在3000t/d 以上时,可以选择串塔流程或者是双级流程。

2.2大型煤制甲醇合成塔的选择目前大型煤制甲醇中的合成塔类型主要包括以下几种,第一,冷激式合成塔,这种类型的合成塔出现时间较早,主要利用冷气带走其中热量,该种类型的合成塔,组成结构较为简单,能够应用在大型煤制甲醇中。

但是其中的转化率较低,最终制作出来的甲醇浓度较低,制作的能耗量较高,目前在大型煤制甲醇中的应用范围较小。

第一,冷管式合成塔,该种类型的合成塔是氨合成塔的升级版,主要利用催化剂,设置相应换热面积的冷气管,适应冷管带走相应的反应热量。

该种合成塔中的组成结构具备逆流式、并流式以及“U ”型式几种。

通常情况下,大型煤制甲醇的过程中主要使用并流式以及“U ”型式两种结构。

以上两种结构在实际应用的过程中,碳转化率较高,但是其中低压蒸汽的副产量在0.4MPA 左右,因此并没有在大型煤制甲醇中广泛应用。

第二,多床内换热合成塔,该种类型的合成塔主要由氨合成塔发展而来,通常情况下,在大型煤制甲醇过程中,使用四床或者五床的方式展开换热合成塔,在此过程中,各个床层实施的反应是绝热反应,各个床的出口会将热量移除。

这种合成塔的组成结构较为简单,制作成本较低,在实际应用中不需要使用合金钢,最终的转化率也较高,因此能够应用在大型煤制甲醇中。

但是该种类型的合成塔不能将全部直接副产中压蒸汽,因此在实际大型煤制甲醇的过程中,需要注意这一问题,进而保证大型煤制甲醇的最终质量。

由此可以看出,在选择大型煤质甲醇制作工艺的过程中,需要根据各个技术水平的特点和大型煤甲醇制作的实际情况,选择相应的气化工艺以及合成工艺。

这种方式能够保证使用工艺与时代发展之间的吻合性,进而保证我国工业的发展水平。

三维建模技术应用研究及二次开发

三维建模技术应用研究及二次开发

- 21 -第3期三维建模技术应用研究及二次开发辛培刚(海洋石油工程(青岛)有限公司, 山东 青岛 266555)[摘 要] PDMS作为多专业集成布置设计数据库平台,可实现设备、结构、配管等多专业协同设计。

本文结合海洋石油平台惠州25-8项目应用情况,着重阐述了该软件在小管线建模过程中的基本要求、常见问题及解决对策。

同时根据实际需要进行了二次开发,不仅改善了工作效率而且提高了准确性。

[关键词] PDMS;三维建模;二次开发作者简介:辛培刚(1978—),男,山东东明人,2010年毕业于中国石油大学(华东),硕士学位,工程师。

现在海洋石油工程(青岛)有限公司从事海洋石油管线研究与设计工作。

海上石油平台空间有限、布局紧凑,为节约建造成本和便于现场生产操作,技术人员必须在详细设计和加工设计阶段进行科学安排、统筹规划。

海洋石油平台各种管线的设计工作非常重要,要实现配管专业和其它专业协调设计,选用先进的设计和管理软件尤为重要。

本文结合PDMS 在海洋石油平台惠州25-8项目中的应用,着重阐述了PDMS 在管线建模中的基本要求、常见问题及解决对策。

1 PDMS 三维技术主要特点PDMS 全称为Plant Design Management System ,即工厂设计管理体系,是一款三维工厂设计管理软件,由AVEVA 公司开发。

该软件以数据为核心、高度参数化,三维实体建模可多用户、分布式开展,直观高效,同时还可以进行客户化和二次开发。

PDMS 作为多专业集成布置设计数据库平台,可实现设备、结构、配管等各专业设计,并可直接生成多专业布置图、单管图、配管图、结构详图、支吊架安装图、抽取材料报表。

因此PDMS 三维技术的应用越来越广泛,尤其是在大型海工和船舶设计中愈发得到重视。

其主要应用特点如下[1]:(1)可并行设计,促进各专业协同工作,提高工作效率和质量。

以配管为例,设计时间可压缩约50%以上,同时设计错误大幅下降,避免返工修改节约成本;(2)一个模型多种图纸,模型图纸相统一,如设备定位图、管线平面布置图、I SO 图、支架制作图、地漏布置图等;(3)材料管理和材料统计更加便捷准确;(4)项目信息平台化,可进行一致性检查、碰撞检查,从而有效避免设计工作中容易出现的“错、漏、碰、缺”等问题;(5)为施工建造人员提供直观的模型支撑。

PDMS二次开发插件

PDMS二次开发插件

PDMS二次开发插件
PDMS软件开发工具集
1.管道流向标注工具
在draft环境中,通过鼠标在管道附近单击进行自动的管道流向标注,标注方向即为管道的设计流向。

流向标志的形状、大小和颜色可以设置。

2.创建工具栏工具
把编写好的pml程序,按照规则命名(工具栏名+工具名)后放到指定文件夹中,则在pdms中自动生成工具栏和对应的工具。

可以同时定义多个工具栏,用户不用进行任何其他操作。

3.创建菜单工具
与创建工具栏类似,用户只需要把写好的pml程序按规则命名(菜单名+工具名)后放到指定文件夹中即可,不用其他任何操作。

4.软管和线缆建模工具
在海洋平台结构和船舶上存在着大量的各种功能的软管,各软管之间及软管与其他结构物之间可能会相互干涉,从而影响施工和软管的正常使用。

软管形态模拟工具的主要功能是在设计阶段准确的模拟各个软管的位置和形态,避免软管的干涉,使设计更加合理。

主要功能如下:
建模功能
软管模拟工具可以模拟以下几种情况的软管形态:
在软管两端点所在竖直平面内指定位置有吊点
在软管两端点所在竖直平面内有障碍点
在软管两端点所在竖直平面外有障碍点
软管两端高于甲板,中间有一部分软管平放在甲板上
编辑功能
软管形态编辑功能是对建模功能的补充,是对已有的软管形态进行局部调整的工
具。

主要功能包括:
对已有软管的任意部分进行任意方向的偏移(合理的偏移)镜像已有的软管模型。

PDMS二次开发之PML编程基础

PDMS二次开发之PML编程基础
– 方法并不改变对象的类型和对象中的值
T 参考手册Cadcentre Software Customisation Reference Manual
11
11
方法-字符串对象(String Object)
T 字符串长度 T 类型转换 T 大小写转换 T 两端截取 T 中间截取 T 分隔符截取 T 替换 T 匹配 T 分割(返回数组) T 修剪
T 系统定义(System-defined)的对象类型
– 指在PDMS中的变量类型,如Positon,Reference
T 用户自定义(User-defined)的对象类型
6
6
生成、查询、删除变量
T 使用命令行或者文本文件测试 T 通过赋值声明变量类型
!MyString = 'Hello World' Q var !MyString 显示<STRING> 'Hello World'
T 变量基本概念
– 变量用于存储数值,变量必须有名字,变量的数值可以改变,但变量名 是固定的.
T PML变量
– 在PML2中变量是一个对象(Objects) • 每一个对象(变量)有一个唯一的名字 • 每一个对象都有一套函数与之相关联,这些函数称为方法 (Methods).方法用于处理对象中的数据 • 生成对象时必须指明对象类型(Object type),不同的对象类型对 应不同的方法
T 关键字(Word) 如Type,Purpose
T 位置(Position) 如Position,Hposition
T 方位(Orientation) 如Orientation
T 方向(Direction) 如HDirection
!!ce

PDMS简介

PDMS简介
• 3.交互设计过程中,实时三维碰撞检查,PDMS能自动地在元件和各 专业设计之间进行碰撞检查,在整体上保证设计结果的准确性; 4.拥有独立的数据库结构,元件和设备信息全部可以存储在参数化的 元件库和设备库中,不依赖第三方数据库; 5.开放的开发环境,利用Programmable MacroLanguage可编程宏语 言,可与通用数据库连接。
• 1. 控制材料的选用,避免浪费。 • 2. 减小管件选择范围。 • 3. 减少管件选用的错误。 • 在PDMS中用到的元件必须在元件库中定义并且
放在等级中。
等级分类
A=A1A-TRA=ANSI CLASS 150 CARBON STEEL 用于 150 磅普通碳钢管道 • B=A3B-TRA=ANSI CLASS 300 CARBON STEEL 用于 300 磅普通碳钢管道 • C=F1C-TRA=ANSI CLASS 150 STAINLESS STEEL 用 于150 磅不锈钢管道
• 练习一:生成80-B-7
谢谢
两个属性显示,Arrive 和Leave。
以下图为例:大小头大的一端是P1 点,小端 是P2 点。如果管道要增大直径,流向将从 P2 点P1 点,这时,管件的Arrive 属性是2, Leave 属性是1。缺省是Arrive 1,Leave 2。
显示管件的出入点
管道生成原则
• 1. 两个管件的出入口方向相对。 • 2. 两个管件的出入口在同一轴上。 • 3. 管件直径(bore)相等。 • 4. 管件连接面相匹配。
PDMS简介
PDsign Management System)即工厂三维布置设计管 理系统,该软件具有以下主要功能特点: 1.全比例三维实体建模,而且以所见即所得方式建模; 2.通过网络实现多专业实时协同设计、真实的现场环境,多个专业组 可以协同设计以建立一个详细的3D数字工厂模型,每个设计者在设计 过程中都可以随时查看其它设计者正在干什么;

PDMS教程2

PDMS教程2

PDMS教程2Branch的Head,T ail连接原则Branch的Head或Tail可以作为管件看待,它的连接原则与管件之间的连接原则一样:a. 两个管件的出入口方向相对,并且同轴。

b. 管件直径(bore)相等。

6) 管件连接面相匹配。

Branch没有元件管道在作数据一致性检查时会提示Branch没有元件,但没有数据的不一致,这种警告信息不会影响Iso图的生成。

BRANCH /150-W12-2000/B1C540 THIS BRANCH HAS NO COMPONENTSEND*--* NO DATA INCONSISTENCIES *--*练习七:生成100-C-13根据管线表的要求,操作温度超过500度管线应加100mm高的管托。

Branch Head(Tail)的直径如果Branch的Head或Tail与管嘴或其它管件连接,它们会自动提取直径信息,如果Head或Tail是空间一点,则要指定它的直径。

直径的修改选择菜单Modify>Branch>explicit。

弯头的管底/管顶标高定位弯头用管底/管顶标高定位Position>Component>Bop/T op。

Branch空间Head(Tail)的定位方法b) 连接:Connect >Branch>Last Number,将head (tail)连接到Branch最后管件的出口上。

这样,head(tail)的直径与Branch最后管件的直径一样,方向相反。

c) 定位:i. 给定精确坐标。

Modify>Branch>explicit。

ii. 在没有参照物时,直接输入距离。

Position>Branch>Distance。

iii. 在有参照物时,寻找合适的参考点。

Position>Branch>Through。

仪表件孔板作为仪表件它的孔板位号直接写到Name中,法兰选择孔法兰(ORIFice),孔法兰有可以连接分支的P3点。

PDMS-2报告(2周岁以内)

PDMS-2报告(2周岁以内)

28 放积木(坐在腿上,面对桌子) 29 翻书页(坐在腿上,面对桌子)
⑫ 双手合拢(坐在腿上,面对桌子) (12个月) 30 搅动小勺(坐在腿上,面对桌子)
(6个月) ⑬ 伸手臂(仰卧位)
31 取出小勺(坐在膝上,面对桌子)
⑭ 留握积木(坐在腿上,面对桌子)
Hale Waihona Puke 32 放积木(坐在膝上,面对桌子)
⑮ 传递积木(坐在腿上,面对桌子)
爬下楼梯 上楼梯
(15-16个月)
41 快走 站
42 倒退走 (17-18个月)
43 下楼梯
44 倒退走
45 跑
(19-20个月)
46 站立 划线
47 48
侧向行走 走直线
(21-22个月)
49 向前跳 划线
50 向上跳 51 向下跳
(23-24个月)
52 上楼梯
移动-52项
◎:蹬腿伸臂—1,3 ◎:翻身———2,8,16,17 ◎:负重———4 ◎:躯干伸展,前臂支撑,撑起—5.7,14 ◎:伸臂蹬腿—6,9,11,12,15 ◎:屈体———10.13 ◎:匍匐向前—18 ◎:爬————19,20,24 ◎:臂移———21 ◎:坐位转圈—22,29 ◎:站起———23
• 反射的具体目标是帮助孩子在 由于环境因素而丧失平衡的情 况下获得一个垂直位维持姿势 并且保持头部在身体的中线位。
• 原始反射具有保护作用,6-8个 月与主动运动整合在一起。
• 姿势反射或反应
姿势-19项
姿势单元的动作组成是有关孩子持续控制身体重心并保持平衡的能力。
① 头转动(俯卧位) ② 躯干对线(坐)
视觉-运动整合44
◎:追视花棱棒——1,2,4,8 ◎:手放置————3 ◎:注视手————5 ◎:追视球————6,7 ◎:伸手臂————9,13 ◎:伸向中线———10 ◎:双手手指相触—11 ◎:合掌或互击积木12,15,20,21 ◎:留握积木———14,22 ◎:操纵小丸———16,27,31,36 ◎:敲杯子————17 ◎:插手指————18 ◎:取出木钉———19,24

基于AutoCAD和PDMS二次开发的二三维协同设计应用研究与实践

基于AutoCAD和PDMS二次开发的二三维协同设计应用研究与实践

随着计算机及图形技术的发展,工厂布置设计从传统的手工设计绘图发展到了二维计算机辅助设计和三维协同设计。

二维设计软件以AutoCAD(本文简称CAD)为代表,二维制图及编辑功能强大,容易上手,接受程度高,但缺乏协同性,无法进行碰撞检查。

三维工厂协同设计软件以PDMS(Plant Design Management System)为代表,支持多专业协同设计,实时碰撞检测,抽取平面布置图及管道ISO图。

一、二次开发简介及基本原理CAD二次开发目前有AutoLISP、、VBA等多种方式,其中AutoLISP语法简单,容易上手,目前应用较多,特别适合非软件专业的工程设计人员使用。

PDMS目前提供PML (Programmable Macro Language 可编程宏语言)及.NET两种二次开发方法。

PML是一种脚本语言,语法简洁易学,功能强大。

PDMS软件中的很多功能都是用PML编写的,在软件根目录下可以查看到源码,非常有利开发者模仿学习。

综合考虑二次开发的使用规模及后续使用者的维护扩展,本文采用AutoLISP及PML进行研究及开发。

PDMS提供了数据及模型的导入导出功能,通过“DBlist”可以把数据以PML宏文件(文档格式)导出,供其他PDMS项目使用。

因此,理论上我们只要能生成(自动或手动)符合PML语法的宏文件,就可以往PDMS里面导入数据或模型,这是往PDMS导入数据的基本思路。

二、线性构件的数据转换及应用在PDMS中,材料构件一般分为线性构件及平面构件。

线性构件主要有钢结构杆件、管道、桥架、暖通风管等。

这类构件一般需数据库支持,在PDMS 中通过坐标及数据库中预定义的等级(截面及材料)来进行定义。

因此,只要把CAD中的坐标(直线或圆弧)信息结合相应的等级属性写成宏文件,即可向PDMS中导入构件。

钢结构的转换实例:在钢结构CAD设计图中(见图1)筛选出杆件的中心线(一般中心线在单独的层,也可以编写以颜色或线型批量筛选的工具)形成选择集;分析线段的首尾坐标点,结合型钢截面定义的PML语句,写入到指定位置的PML宏文件中;循环直至把选择集中所有中心线全部写入宏文件中;在PDMS中导入宏文件,即可批量生成钢结构。

二次开发在PDMS设备建模中的应用

二次开发在PDMS设备建模中的应用

160收稿日期:2020-06-09作者简介:江保军(1980—),男,河南民权人,本科,研究员级高级工程师,研究方向:核燃料及核材料专用设备的研发、 CAD 及CAE 软件开发。

0 引言PDMS(Plant Design Management System)是英国AVEVA公司开发的三维工厂设计系统,自从1977年第一个PDMS商业版本发布以来,PDMS就成为大型、复杂工厂设计项目的首选设计软件系统。

PDMS软件可以通过网络实现多专业的协同设计,针对专业特点划分为多个模块,包括项目管理、元件库、三维设计、轴测图生成等,其中三维设计又包括设备、管道、结构、暖通、电缆桥架等不同模块,配管设计是PDMS软件的强项,而设备建模功能与专业的三维设计软件相比相对较弱。

由于PDMS软件开放性较好,可以通过PML或.NET等编程技术对软件的基本功能进行增强和完善,因此,可以通过二次开发技术,改善设备建模的操作方式,大大提高设备建模效率。

1 PDMS设备建模概述PDMS软件中的设备是由多个基本体Primitive拼装起来的,基本体参考设备定位点生成和定位,构成设备主要的基本体有圆柱、矩形、圆台、圆盘和管嘴等,PDMS软件自身支持的设备生成方法有以下几种:(1)基本设备模板。

基本设备模板包含立式设备、卧式设备、换热器、储罐、空冷和泵等6大类设备,基本设备模板参数不能通过界面修改,通常基本设备模板用来生成设备本体模型,需要再根据图纸要求添加和定位管嘴。

(2)参数化设备模板。

参数化设备模板的中可以定义管嘴的信息,但是一旦新的设备基本体组成或管嘴数量发生变化,该模板也不能完全适合,仍然需要进行完善。

(3)搭积木方式。

通过逐一建立基本体和管嘴,并完成基本体之间的定位,由于涉及到大量移动、旋转等定位操作,该方式建模效率最低。

(4)读取宏文件或通过软件接口输入模型。

读取宏文件的前提是别的项目已经有同样的设备模型,不属于设备建模范畴。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

配置文件中定义了按钮名字、命令ID,及停靠属性等。 UIC文件没有指定目录,则默认在PDMS主目录中。 除了支持工具条,菜单也可以在UIC文件里定义。
创建菜单、工具条示意
创建元素
DbElement dbCE = CurrentElement.Element; // 当前选择的元素 DbElementType dbType = dbCE.GetElementType();
PML开发方式- Hello World示意
1.编写hello.pmlfrm代码文件,放到该目录下: D:\AVEVA\Plant\PDMS12.0.SP6\PMLLIB\design\forms\ hello.pmlfrm 2.D:\AVEVA\Plant\PDMS12.0.SP6\PMLLIB\pml.index 文件中添加 hello.pmlfrm,即可自动加载该代码。 3.进入PDMS后,命令行敲入调用命令显示对话框:show !!hello,即可弹出对话框,如右图:Βιβλιοθήκη 迭代元素,按树结构方式迭代
// 先定义过滤器 TypeFilter filt = new TypeFilter(); filt.Add(DbElementTypeInstance.SITE); filt.Add(DbElementTypeInstance.PIPE); filt.Add(DbElementTypeInstance.NOZZLE); filt.Add(DbElementTypeInstance.TEE); CompoundFilter filtComp = new CompoundFilter(); filtComp.AddShow(filt); // 通过树浏览器扫描节点下所有指定类型的元素 ElementTreeNavigator navi = new ElementTreeNavigator(DbElement.GetElement("/*"), filtComp); DbElement[] tees = navi.MembersInScan(dbCE); string outResult = “ElementTreeNavigator()方式迭代元素:\n"; foreach (DbElement db in tees) { string subName = db.ToString(); string subType = db.GetElementType().ToString(); outResult += "名称:" + subName + ", 类型:" + subType + newLine; }
支持全路径,及环境变量。 修改插件配置文件,添加我们的插件: 启动后,就会加载插件,并调用入口函数。 D:\AVEVA\Plant\PDMS12.0.SP6\DesignAddins.xml:
创建主命令
• 重写命令类,并在类构造函数中,设置命令ID,
• 重写虚函数,用以点击命令后,需要做的工作 public virtual void Execute();
HelloWord插件
• 可加载插件必须从这个接口类派生:Iaddin,有几个虚函数可以重写。 启动PDMS加载时调用Start(),关闭PDMS时,调用Stop()。
• 添加引用DLL,及命名空间。Pdms安装主目录中提供了各类需引用的dll。 Aveva.ApplicationFramework.dll
PDMS二次开发简介
基于.Net(C#)平台
二次开发方式综述
• AVEVA PDMS提供了三种二次开发的方式:DARs, PML和AVEVA .Net(C#)。 • DARs是Fortran的函数库,也可以用C/C++来开发,依赖的库少,但是只能用于控制台的程序,没 有用户界面(GUI),所以对于提取PDMS数据,然后进行简单处理的小程序比较试用。 • PML:ProgrammableMacroLanguage 可编程宏语言,是一种解释型的脚本语言,其只能在PDMS 软件中被解释执行。PDMS自带的很多程序就是用PML开发的。脚本语言的显著优势就是将常用的命 令封装出来,这样在测试程序新功能时,不需要编译源码,只需要编写脚本,提高软件开发效率;使 用脚本时需要将功能暴露出来,这样会对接口的合理性做更多考虑,使软件架构更清晰等。缺点就是 对于复杂算法,执行效率较低,相对.Net方式功能少。
try { if (dbType == DbElementTypeInstance.WORLD) // 不同类型节点下,创建不同类型的元素 { DbElement dbSite = dbCE.Create(0, DbElementTypeInstance.SITE); dbSite.SetAttribute(, "/NewSite"); } eslse if( SITE、ZONE、PIPE) else if( dbType == DbElementTypeInstance.BRANCH) { DbElement dbElement = dbCE.Create(0, DbElementTypeInstance.ELBOW); // 弯头 dbElement.SetAttribute(, "/NewElbow"); dbElement = dbCE.Create(0, DbElementTypeInstance.PIPE); dbElement.SetAttribute(, "/NewPipe"); dbElement.SetAttribute(DbAttributeInstance.DESC, "/NewAdded Pipe");
撤销机制
UndoTransaction trans = UndoTransaction.GetUndoTransaction(); trans.StartTransaction("My Transaction");
// 模拟修改 String s1 = Example.Instance.mEqui.GetString(DbAttributeInstance.DESC); String s2 = String.Concat(s1, "x"); Example.Instance.mEqui.SetAttribute(DbAttributeInstance.DESC, s2); trans.EndTransaction(); // 撤销操作,回到原来值 UndoTransaction.PerformUndo(); // 设置撤销标记
System.Windows.Forms.MessageBox.Show(outResult);
迭代元素2,通过前后、从属关系迭代元素
// 获取当前元素 DbElement dbCE = CurrentElement.Element; string curName = dbCE.ToString(); string curType = dbCE.GetElementType().ToString(); // 前面的元素 DbElement preDb = dbCE.Previous; if (!preDb.IsNull && preDb.GetElementType() == DbElementTypeInstance.TUBING) preDb = preDb.Previous; // 大部分情况下第一pre是 ileave tube,而不是真正的下一个元素 // 后面的元素 DbElement nxtDb = dbCE.Next(); // 该节点下所有的元素,比如一个节点下所有的管件、设备等 DbElement[] dbMembs = dbCE.Members(); foreach(DbElement db in dbMembs) { string subName = db.ToString(); string subType = db.GetElementType().ToString(); …… }
基于.Net(c#)方式开发
工程、数据库、元素概念
• 项目(Project),为数据根节点,对应实际工程项目的概念。 一个项目包括多个数据库(MDB)。 • 登陆时,可以选择进入不同模块(Module),设计模块 (Design)还是轴测图、或元件库视图。 • 每个数据库(MDB)下对应如下元素: 树状数据库中每一个节点叫做一个元素,每个元素都有属性保存 他的特征信息,不同类型的元素属性类型也不同 当前元素可以是一个有元素,也可以是元素的结合。
• AVEVA .Net是AVEVA推出的一种更方便的开发方式。结合C#丰富的库及相对于PML而言更加高效, 使用C#在AVEVA上可以快速地开发出应用程序。且使得在PML中调用C#的库成为可能,使 用C#对PDMS进行开发优势明显,但也有不足之处,那就是程序调试不方便,当C#的库DLL被 PDMS加载后,不能卸载,不能对源码实时修改,开发效率有所影响。
注册新写的命令类
• Iaddin派生类入口函数中注册新写的命令类
public void Start(ServiceManager serviceManager) { // 注册命令 CommandManager commandManager = (CommandManager)serviceManager.GetService(typeof(CommandManager));
基于.Net(c#)方式开发
• VS中通过引用PDMS提供的DLL,编译出DLL类库,在PDMS中以插件方式 加载,实现PDMS二次开发。PDMS12.0 Sp6需要用.Net2.0版本. • 主要可实现的功能: 程序框架、设置相关,比如:添加工具条按钮及相应命令、 数据库(工程)访问、元素(实体)获取参数、修改、删除等 几何库、图形库等 • 一些事件的响应处理,比如元素创建、修改、或选中时等
相关文档
最新文档