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 • 文件存放位置 • 调用方式 • 提取参数 • 封装缩放的代码
16165836_PDMS二次开发在海洋石油平台电缆模块设计中的应用

,!)%,
海洋工程装备与技术
第$卷
图 电 !! 缆列表显示
;6:/!!W6CA8BM0DGB=8186C2
缆托架填充率计算功能和护管的选型功能"在要计 算填充率的托架上点击填充率按钮"通过插件内部
!!
源码的计算显示出该段托架填充率值"为电缆布线 提 供 敷 设 依 据 "确 保 电 缆 布 置 设 计 满 足 规 范 要 求 " 保障海油平台运行的安全性&填充率计算画面如 图#所示&
通 !+# 过 菜 RB=812008 单查看电缆托架上某段 托架截面电缆信息 & -%. 信息列表栏内显示经过该段 托 架 的 电 缆 "包 括 电 缆 编 号 *电 缆 名 称 *电 缆 型 号 * 电缆外径等&可根据该段托架进出电缆的情况"通 过添 加*移 除 按 钮 修 改 和 调 整 电 缆 列 表"如 图 ! 所示&
@!7GQF 二 次 开 发 功 能 应 用
二 UWV] 次开发是基于其专用语言 UVX来实 现的&本文通过 UVX语言对 建 UWV] 模软件进行
通过 UVX中的 编 *>>,69C 程可向 UWV]模块 主菜单中增加扩展的菜 单 项*工 具 栏 等&*>>,69C 技术主要功能包括)为 UWV]应用添加主菜单栏' 在应用中自定义菜单和工具栏'在应用界面上增加
法"可以通过编程代码对菜单*对话框*窗体等进行 创建和编写"用以实现不同的功能&
通过 UVX这些对象*方法的使用"实现 UWV]
图-!文件位置及命名定义
;6:/-!;68180GB2609B9>9B@69:
CAD与PDMS数据传递及联动操作应用研究

2 PDMS 二次开发方式
PDMS 有 两 种 常 用 的 二 次 开 发 方 式,即 PML 和 .NET.PML(Programmable MacroLanguage) 是一种面向对象的脚本语言,只能在 PDMS软件内 执行.PDMS软件 自 带 的 很 多 程 序 就 是 使 用 PML 开发的.使用 PML 二次开发的优 势 是 运 行 前 不 需 要 编 译,可 提 高 开 发 效 率;不 足 之 处 是 相 对 于 .NET,其功能较 少,不 能 进 行 内 存、指 针 和 通 讯 操 作..NET存 在 两 种 实 现 方 法,即.NET Addin 和 PML .NET,主 要 是 在 VisualStudio 环 境 下 使 用 C#进行二次 开 发.通 过 PDMS 提 供 的 接 口,利 用 C#可读取/修 改 PDMS 数 据 库 内 容. 使 用 C# 进 行二次开发的优势是可借用微软.NET 内丰富的类 库,进而大大扩增 程 序 功 能.不 足 之 处 是 程 序 调 试 不方便,C#编译 好 的 dll文 件 被 PDMS 加 载 后,不 能 卸 载 ,因 此 不 能 对 程 序 源 码 实 时 修 改 .
第2期
李 凯等 CAD 与 PDMS数据传递及联动操作应用研究
������ 9 ������
可以和有另一端句 柄 的 进 程 通 信,对 于 两 个 进 程 之 间的通讯我们采用命名管 道(NamedPipe),其 具 有 简单高效的特 点,非 常 适 合 作 为 CAD 和 PDMS 联 动操作的通讯方式.
(1)调用同一个 DLL(动 态 连 接 库),DLL 中 的
全局数据 可 以 被 调 用 DLL 的 所 有 进 程 共 享,虽 然 可以通过 DLL 进 行 进 程 间 数 据 共 享,但 从 数 据 安 全的角度 考 虑,并 不 提 倡 这 种 方 法,而 且 在 实 际 应 用 中,采 用 这 种 方 式 实 现 软 件 之 间 联 动 的 难 度 较 大 ,稳 定 性 较 差 .
一个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设备建模中的应用作者:江保军鲍景明翟家海杨明伟来源:《数字技术与应用》2020年第08期摘要:本文首先对PDMS软件的设备建模方式进行了概述,同时比较了不同设备建模方式的特点,结合PDMS软件的二次开发方法,重点介绍了.NET二次开发技术在PDMS设备建模中的应用,通过典型的示例代码,详细描述了二次开发的流程,与软件自带的设备建模方法相比,通过二次开发,可以大大提高设备的建模效率。
关键词:设备建模;二次开发;PDMS中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2020)08-0160-030 引言PDMS(Plant Design Management System)是英国AVEVA公司开发的三维工厂设计系统,自从1977年第一个PDMS商业版本发布以来,PDMS就成为大型、复杂工厂设计项目的首选设计软件系统。
PDMS软件可以通过网络实现多专业的协同设计,针对专业特点划分为多个模块,包括项目管理、元件库、三维设计、轴测图生成等,其中三维设计又包括设备、管道、结构、暖通、电缆桥架等不同模块,配管设计是PDMS软件的强项,而设备建模功能与专业的三维设计软件相比相对较弱。
由于PDMS软件开放性较好,可以通过PML或.NET等编程技术对软件的基本功能进行增强和完善,因此,可以通过二次开发技术,改善设备建模的操作方式,大大提高设备建模效率。
1 PDMS设备建模概述PDMS软件中的设备是由多个基本体Primitive拼装起来的,基本体参考设备定位点生成和定位,構成设备主要的基本体有圆柱、矩形、圆台、圆盘和管嘴等,PDMS软件自身支持的设备生成方法有以下几种:(1)基本设备模板。
基本设备模板包含立式设备、卧式设备、换热器、储罐、空冷和泵等6大类设备,基本设备模板参数不能通过界面修改,通常基本设备模板用来生成设备本体模型,需要再根据图纸要求添加和定位管嘴。
(2)参数化设备模板。
PDMS自动设置保温二次开发研究

PDMS自动设置保温二次开发研究摘要:针对公司煤气发电三维设计的热力管道设计工作中的保温设计需要花费大量时间进行人工设置,且不能精准保证设置的保温厚度满足设计要求,采用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下所有的管部件赋给统一的保温等级。
三、关键代码1.对温度、管径及保温厚度进行联合处理计算四、开发成品最终开发界面成品如下图所示,将整个保温功能集中放在超级工具集中供设计人员调用,分别是自动设置管线保温、批量设置管线保温以及查看保温厚度表。
利用PML语言提高PDMS建模效率

利用PML语言提高PDMS建模效率在PDMS三维建模的过程中,利用PML语言创建一些常用命令的快捷方式,能够减少建模过程中一些不必要的重复工作,缩短建模时间,不仅极大的提高建模的效率和准确度,也为之后模型的校对提供便利。
标签:PML语言;菜单小工具;效率PDMS (plant design management system)是英国的A VEV A公司开发的一款三维工厂设计管理软件,它是以元件数据库为核心,高度参数化,并具有直观、准确、方便、灵活的特点,已经非常广泛地应用于化工、电力及海洋工程等行业。
此外,PDMS 还是各设计专业设计、建模和交流协调的平台,能十分方便地检查出设计过程中出现的“错、漏、碰、缺”等问题;尤其是在设计空间紧张、设计密度高的工程行业,使用三维建模设计,能够更高效地实现总体布置的优化。
1 PDMS常用操作PDMS是一个适用性比较强的三维设计软件,但是每个设计单位并不会应用到PDMS所有的设计功能,一些揉和到一起的功能显得有些臃肿,并不方便。
因此,设计单位需要项目管理人员针对自身需要,利用PML语言对PDMS中的一些功能进行分类和剥离,从而减少建模过程中一些不必要的重复工作,缩短建模时间,提高创建三维模型的效率和准确度。
下面首先介绍一下在日常建模过程中遇到的一些常用操作。
1.1 管线管底对齐/管顶对齐在创建项目模型的过程中,经常需要对管线进行管底对齐或管顶对齐的操作,在常规操作过程中,首先需要测量该管线的管底标高/管顶标高,然后通过菜单栏position相关命令移动至相应的位置,当类似管廊的位置需要对齐的管线命令比较多时,就要多次重复相关操作,费时费力,还经常由于取点不准确造成一定的偏差。
1.2 管线头部收尾/尾部收尾在创建项目模型的过程中,有些管线的头尾或者尾部本身没有连接关系,需要在最后一个元件或指定位置进行收尾。
在常规的操作过程中,需要点选菜单栏上的connect下的branch命令进行相关操作,费时费力。
基于微流体芯片结构的pdms二次倒模工艺研究

基于微流体芯片结构的pdms二次倒模工艺研究下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!基于微流体芯片结构的PDMS二次倒模工艺深度探究随着微纳米技术的快速发展,微流体芯片作为一种新型的微纳技术平台,已经在生物医学、化学分析、环境监测等领域展现出广阔的应用前景。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自定义对话框
• 对话框唯一标识 • 标题/位置/大小 • 可停靠/不可停靠 • 构造方法/初始化 • 关闭对话框
界面的消息响应
• callback • 关联命令 • 关联方法 • 参数与消息
变量
• 变量命名 • 全局变量与局部变量 • 特殊的全局变量!!ce
常用的变量类型
• Real 实数 • String 字符串 • Boolean 布尔类型(逻辑) • Position 位置 • Direction 方向
每种类型(对象)都有自己的方法(Method)
变量的查看/创建/删除
• 查看 q var • 用类型创建 !str = string() • 直接赋值 !str = ‘abc123’ • 删除 !str.delete() • 特殊的变量!!ce
• Method是对象的子程序 !strNum = ‘123’ !num = !strNum.Real() • 方法可以有参数和返回值 • 函数与方法类似, 但独立存在,且全局有效
循环语句
• Do !x from 1 to 10 by 1 $p $!x
Enddo • Do !x values ce mem
一个简单的窗体程序
SETUP FORM !!FirstForm TITLE '自定义对话框’ Text .text1 ‘点击按钮’ Button .ok ‘OK’ callback ‘!this.OK()’
Exit Define method .OK()
!!alert.message(‘OK’) Endmethod
Site /TEST_SITE Handle (2, 109)
$p节点不存在 Endhandle
连续捕捉异常
Site /TEST_SITE Handle (2, 109)
$p节点不存在 Elsehandle (2, 108)
$p /TEST_SITE节点存在, 但不是SITE类型 elsehandle none
字符串(String)与数组
• 类型与对象 • 方法(Method) • .String()
字符串(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()PDMS 二次开发培训Fra bibliotekPML开发
课程内容
• PML语言基础知识 • 通过实例, 一步步介绍PML程序编写/调试/
移植技巧 • PDMS12与.net的接口简介 • dars接口简介
PML基本概念
• Programmable Macro Language 可编程宏语 言.
• PML 脚本语言
• PML2 面向对象的编程语言. 支持窗体/菜单
制为255, 12.0可达1000 • 控件属性,有少量差异
对话框
• Form对象 • 通用的方法/属性
几个简单系统对话框
• !!alert.message() !!alert.error() !!alert.confirm()
• !!fileBrowser(!directory is STRING, !seedFile is STRING, !title is STRING, !existFlag is BOOLEAN, !callback is STRING)
如何调用窗体
• 保存文件,扩展名为pmlfrm • 放在%pdmsexe%\pmllib文件夹下 • pml rehash all • pml reload form !!FirstForm • show !!FirstForm
PML语言基础
• 变量的定义与类型 • 结构控制语句
循环/条件 • 用户自定义方法/函数 • 异常处理 • 文件I/O
$p $!x Enddo
中断 跳过
• skip [ if ... ] 跳过当此循环
• break 跳出当前最里层的循环
条件语句
• IF ... Then ... [ElseIf ... Then ... ] [Else ...] Endif
• 条件语句可以嵌套
异常处理
• 异常: 意料之中的错误 • 捕捉指定的错误
• 多行注释
$( 中间加若干行注释 $)
自定义方法/自定义函数
• 函数定义 • 参数 • 全局函数存放位置 • 调用
文件处理
• File对象 • 读打开 • 两种写入方式 • 常见的IO异常 • 文件读写的限制(行 列)
版本差异(11.6/12.0)
• 几乎完全兼容 • 字符串/控件/读文件每行长度, 11.6长度限
数组常用方法
• 元素数量 Size() • 追加元素 Append(value) • 追加数组 AppendArray(Array) • 删除全部元素 Clear() • 倒序 Invert() • 搜索 Find(value),FindFirst(value) • 和并重复项 Unique()
方法(Method)和函数(Function)
$p Site /TEST_SITE节点存在 endhandle
表达式
• 算术运算符 + -* / • 字符串连接符& • 比较运算符EQ NE LT LE GT GE • 布尔运算符NOT AND OR • 括号.
注释
• 整行注释 – 例如 --这一行是注释
• 行末注释 $* !elm = !!ce $*注释写在后面
一段简单的PML宏(Macro)
Var!subs collect ce mem Do !sub values !subs $!sub $p $!!ce.fullname enddo
如何运行宏
• 宏, 就是一系列PML命令的集合 • 执行格式为:
$m filename [param1 param2 ….]