目录
- 前言
- 一、PML类型与概念
- 基础知识
- 变量
- 函数
- 小例子
- 注释
- PML表达式
- 条件判断语句
- 循环
- skip和break
- 窗口程序
- 在PDMS菜单栏中添加程序
- 窗口自动定位
- PML常见控件
前言
PDMS二次开发需要.net 有自带的PML语言和C#
.net一般通常泛指的是C#语言
模型数据借助.NET的接口可以转换成数据库中的关系型数据,将固化在PDMS软件中的工程数据,转移到更广阔的应用领域。
.NET二次开发的两种方式。一种是使用.NET插件;另一种是使用PML.NET。两种方式的机制都可以使用程序被动态加载到使用的模块中。我采用的是纯.NET开发的方式,熟悉PML的人可能更喜欢PML.NET的方式。
编辑器的话 PML 可以用
一、PML类型与概念
PML是面向对象的一种编程语言,支持用户自定义对象类型,是一种简单易学,与PDMS无缝链接的一种语言
常用的是pmllib
要做的项目简介:
基础知识
变量
! 用来声明变量 一般不在命令行窗口来写 要自己写一个脚本用来执行
!number = 9 q var !number
答案: <REAL>
9
!number = object real()
q val !number
PML里面的变量是不区分大小写的
unset指的是空类型 相当于null
real中对比java的话 里面包括Double和int float 都属于real类型
Array数组类型里面 可以放String real 等不局限于一种类型
!!ce指的是当前元素
函数
函数的定义 !!Area函数 里面是参数 然后最右面是返回值 感觉和go语言的差不多
需要注意的是函数的名称要和定义的这个函数的文件名称要一致
输入的是8*5 然后再进行查询之后得出的结果
目前的演示都是再CommandWindow窗口程序里看到的
小例子
先定义两个小零件
然后编写函数
就是根据程序重新命名了一下
然后执行
pml rehash all
!!NameNozzle()
就可以了
结果:
注释
--
不可以放在代码的同行后面
打印就是Log日志 在控制台输出的那种
PML表达式
和并符&:就是两个字符拼接在一起所用的
如果都是字符串的话 也可以用+
条件判断语句
循环
skip和break
就是类似continue 和break
类似goto
窗口程序
下面是最终版本的get函数
这个是声明了一个窗体程序
setup form
exit
而下面define method .PipeBop() 那个是构造方法
在下面是普通的方法
method里面常与object对象这种相结合
text .txtBop 'BOP' at x 1.1 ymax width 20 is real
.txtBop 是声明文本框的名称名
'BOP’表示的是在屏幕上显示的名称
这个是以左上角为原点坐标
出来的效果就是
然后再加入一些方法 点击出来的按钮
其中flnn 这个是指的是零件的名称
当form里面的改变 或者增加方法什么的才需要刷新 否则就单纯更改方法里面的代码就不需要更新
这里面定义的就是PML中的Object类 按F1快捷键
Gadget是控件
就是让窗口的控件变灰 直接失灵 Active= false
neq是非的意思
ID@是让你点击界面的确认 element
循环点击 设置set函数
esc退出
Indices遍历集合
dbref : 指的是pdms库里面的元素类型
最终版:
在PDMS菜单栏中添加程序
右键出现的Customize然后出现工具
在中间的部分右键新建 然后最右边的栏中进行编辑 注意是Mcro形式 因为我们这个本质上是宏命令
最后的时候一定要记得 把按钮拖进去 要不还是失效的
如果txt文件中执行的话(这里面txt文件中仅仅有一个查询的一条语句)
或者也可以通过按钮工具的形式出现
窗口自动定位
也可以组合
构造方法只运行一次就够了 初始化完成 是每次重新打开都会
就是常见的OK键和cancel键
PML常见控件
tooltip 'Slect pipe’这个是窗口停靠的提示信息