PDMS
文章平均质量分 76
YAOYY
这个作者很懒,什么都没留下…
展开
-
GridControl
GridControl是AVEVA封装的一个内置的列表控件,其效果类似于C#里的grid控件。这样就可以在PML里面实现列表的功能,其功能要远远强于普通的LIST控件,当然其实现也比较复杂。前置条件导包需要在使用前,将DLL文件加载到内存中。import 'GridControl'import 'Aveva.Pdms.DataManagement.PML'窗体定义FRAME ....原创 2019-07-30 11:10:28 · 1349 阅读 · 1 评论 -
PDMS.NET开发
概述PDMS 的.NET开发主要分以下两种:.NETPML + .NET.NETAVEVA公司提供了.NET的二次开发接口,以方便有C#开发经验的工程师可以快速的利用.NET框架对AVEVA的产品进行开发,如PDMS,MARINE等。传统的PDMS开发主要利用PML语言,但AVEVA提供的PML对象库有限,如果想实现更多丰富的功能,使用PML开发就有很大的局限性。但利用.NET可...原创 2019-09-29 14:53:42 · 6009 阅读 · 2 评论 -
PDMS.NET窗体
概述本文主要讲解了如何将一个用.NET开发的窗体,部署到PDMS中。在阅读本文之前,建议先阅读《PDMS .NET开发》作为前置课程。.NET开发新建.NET项目PDMS只接受类库的插件形式。引入Aveva.ApplicationFramework、Aveva.ApplicationFramework.Presentation两个DLL文件。新建用户控件在解决方案中,右键添加一个用户控...原创 2019-09-29 15:28:26 · 1777 阅读 · 1 评论 -
PDMS.NET_执行PDMS命令
概述PDMS内置了许多命令语法糖,利用这些命令,可以快速的实现很多很棒的效果。那么在.NET开发里面,要如何调用这些内置命令了?使用引用动态库Aveva.Pdms.Utilities命名空间using Aveva.Pdms.Utilities.CommandLine;执行命令string pdmsCommand = "new site";Command.CreateCommand...原创 2019-09-29 15:54:53 · 2334 阅读 · 2 评论 -
PDMS.NET_Element
概述DbElement是PDMS中最重要的对象,在PDMS中万物皆元素。CE在PDMS中,CE是Current Element的缩写,表示当前对象。.NET获取当前对象主要使用CurrentElement对象。// 引用命名空间using Aveva.Pdms.Shared// 获取当前对象,类型为DbElementDbElement ele = CurrentElement.El...原创 2019-09-30 14:09:49 · 1214 阅读 · 1 评论 -
PDMS.NET_元素属性和类型
概述PDMS的对象有很多属性,如name/purp/desc/pos等等。传统的PML语言,可以通过object快速的获取或修改对象。而在.NET中,同样支持类似的操作。DbElement在前面曾提到过,每个PDMS元素都是一个DbElement。通过DbElement类的方法,就可以直接为元素赋属性,获取属性等操作。Get字符串型属性// 获取指定属性的值public abstra...原创 2019-10-03 21:37:23 · 1720 阅读 · 0 评论 -
PDMS.NET_异常处理
概述任何程序都离不开异常和异常处理。PML处理异常的手段,主要是使用handle语句,但PML的异常处理有着很明显的缺陷,就是异常处理只能处理单行语句,无法针对代码段做异常处理。而.NET中,就很好的处理了这个问题。除了使用.NET原生的try catch语句外,PDMS还实现了两个专门的类,用于异常处理和消息框。使用方法说明命名空间Aveva.Pdms.Utilities.Messag...原创 2019-10-03 21:46:10 · 674 阅读 · 0 评论 -
PDMS.NET_项目管理类
概述PDMS不但提供了许多针对元素的类,对于项目管理也提供了许多类。Project项目类。// 由于是静态类无法用new实例化,可利用属性CurrentProject实例化,如:Project project = Project.CurrentProject;MDB & MDBSetup操作MDB的类。MDBSetup setUp = MDBSetup.CreateMDB...原创 2019-10-03 21:54:08 · 636 阅读 · 0 评论 -
PDMS.NET_Undo&Redo
概述在软件操作中,撤销和重做是非常频繁的一种操作。在PML,我们使用mark db的方式实现,在.NET中,有专门的类用于管理。使用方法该类在Aveva.Pdms.Utilities动态库下,命名空间Aveva.Pdms.Utilities.Undo。主要使用类UndoTransaction。// 设置撤销标记UndoTransaction trans = UndoTransaction...原创 2019-10-03 22:12:46 · 577 阅读 · 0 评论 -
PDMS未公开类
SPECIFICATIONS该类主要用于获取MDB下的各种等级,比如管道等级、保温等级、伴热等级等。!spec = object SPECIFICATIONS()// Descriptions//获取管道等级if (!spec.Piping())then !pipingSpecList = !spec.Descriptionsendif//获取保温等级if (!sp...原创 2019-08-27 10:34:48 · 742 阅读 · 0 评论 -
PDMS查询命令
查询命令绝大部分属性不但可以用q attrname命令查询,而且可以用var !varname attrname这样的方式取值。属性描述lastmod当前元素的最后修改时间lastmod当前元素的最后修改时间lastmod hier当前元素及其成员的最后修改时间usermod当前元素的最后修改人lastmod xlen当前元素的某个属性最后...原创 2019-08-07 09:15:09 · 3939 阅读 · 0 评论 -
PDMS元素收集
PML语法获取元素主要有以下 两种方法:collect关键字COLLECTION对象collectvar !elementList collect [收集对象] [条件] [范围]收集对象对象主要指的是要收集的元素类型,如:all FRMW (所有的FRMW对象)all BRAN member (所有管件,包括直管)BRAN member (所有管件,不包括直管)all...原创 2019-08-13 16:37:55 · 1838 阅读 · 0 评论 -
窗体和控件
FMSYSFMSYS是PML专门用于系统、窗体、菜单的对象,其不同于标准对象。由于其特殊性,使用方法也有所差异。由于对象的特殊性,可直接使用全局变量使用。!!FMSYSLoadForm该方法主要用于将窗体对象加载到内存中。如果想调用窗体对象中的方法,又不想使用show !!formName的方式,显式加载窗体,用该方法即可。!form = !!FMSYS.LoadForm(!formNa...原创 2019-07-31 13:32:25 · 725 阅读 · 0 评论 -
PDMS显示命令
概述PDMS支持中心线、透明、负实体、Pline等多种显示设置。透明EQUI通常会在设备模块中,新建一些基本体,用于充当检修空间的作用。这些基本体通常不显示为实体,而且不参与硬碰撞。new boxlevel 3 5 //设置层次repr obstruction on translucency 80 // 透明度在0-99之间,数值越大,越透明repr update // 必须刷新,...原创 2019-07-31 20:09:19 · 6625 阅读 · 1 评论 -
PDMS通用命令
对象操作拷贝对象和属性的拷贝。// 拷贝并重命名new STRU name /newName copy /oldName rename /oldName /newName移动by沿坐标系移动。(by只能正向移动,无法沿着某个方向移动)语法格式:by + <pos> + [axes]命令说明BY E400 N300沿当前对象所属层次的坐标系移...原创 2019-08-08 12:29:33 · 7494 阅读 · 0 评论 -
PDMS设备命令
规则合理设置PDMS中元素的规则属性,可以更高效的对元素进行定位和赋值等。语法格式:rule set + <attribute name> + [static/dynamic] [on] + [select element]静态规则需要手动执行,动态规则不需要执行命令说明备注rule set zlen dynamic (xlen + ylen)设置某...原创 2019-08-08 12:37:52 · 3680 阅读 · 0 评论 -
PDMS管道命令
branchConnect主要用于设置管道的头尾参考,一旦利用CONN命令连接以后,管道的头尾其他属性都能自动得到。如:HBOR ,HBOR, HCON, HPOS and HDIR。CONN PH TO /1205-N5CONN PT TO LAST MEMCONN PH TO PT OF /100-A8/1CONN PH TO ID NOZZ使用连接命令前,必须先定义branc...原创 2019-08-08 12:43:36 · 4802 阅读 · 2 评论 -
PDMS结构命令
pnod// 创建点并定位NEW PNOD /PNOD1 AT E1000 N500 U500 // 拷贝先前的点来新建点并移动位置NEW PNOD /PNOD2 COPY PREV BY E1000pline通过预先定义好的snod来生成pline线STRING BEAM FROM /PNOD2 TO /SNOD3 NAME /UB80.LEV2定位POSSTART ...原创 2019-08-08 12:45:40 · 1119 阅读 · 1 评论 -
PDMS平面图命令
plotplot命令可以将平面图打印成PDF格式的文件。// 将当前层次打印成pdf格式的文件,并设置输出路径文件名等。plot CE pdf /D:\text.pdf 'UNITS MM'// COLOUR COLOURPLUS 解决了draft图纸打印成pdf后,由于背景色由黑色变成白色,会导致原来图纸中的白线和白色字看不见的问题。 其将白色、黑色、灰色全部打印成黑色。// ov...原创 2019-08-08 13:42:21 · 1672 阅读 · 0 评论 -
PDMS原生类
BLOCKBLOCK是PDMS提供的原生类。该类通常不独立使用,主要是配合ARRAY的Evaluate方法使用,用于返回一个经过计算的数组。sample// 实例化!oBlock = object BLOCK('Express 表达式')// 计算数组对象var !aZoneList coll all ZONE for ce// 获取数组的名称,并全部转换为小写字母!aZo...原创 2019-08-13 16:29:44 · 545 阅读 · 0 评论 -
PDMS.NET_元素收集
概述在PML语法中,利用collect语句或者COLLECTION对象均可实现元素收集。在.NET中主要通过Filters下面的类,来实现元素的收集。普通过滤器类型过滤器类型过滤器主要类为TypeFilter。// 实例化TypeFilter filt1 = new TypeFilter(DbElementTypeInstance.ATTACHMENT);// 也可以通过Add / ...原创 2019-10-07 22:03:48 · 1206 阅读 · 0 评论