PDMS开发-初级开发练习及解释1

练习代码来自于AVEVA官方,笔者进行了简单解释和部分勘误!
1、一个简单的 Macro
–新建设备FREDNEW EQUIP /FRED
–新建立方体NEW BOX
–设置属性值
XLEN 300 YLEN 400 ZLEN 600
–新建圆柱并设置直径和高
NEW CYL DIA 400 HEI 600
–将圆柱的P1点和前一个元素(立方体)的P1相连
CONN P1 TO P2 OF PREV
2、参数化宏Parameterized Macro

NEW EQUIP /$1
NEW BOX
XLEN $2 YLEN $3 ZLEN $4
NEW CYL DIA $3 HEI $4
CONN P1 TO P2 OF PREV

将以上内容存在文件file.mac中,使用以下方法调用该文件:
$m file.mac ‘FRED’ 300 400 500
那么$1 = ‘FRED’
$2 = 30 0
$3 = 400
$4 = 500

3、变量给属性赋值
New Pipe
Desc ‘My Description’
Temp 100
Pspec /A3B
Purp PIPI
新建管道,设置Desc Temp Pspec Purp属性值

!desc = desc
!temp = temp
!pspec = pspec
!purp = purp

!desc、!temp、!pspec、!purp 为变量,pml语法中,以!开头的字符串为变量,字符串仅能包括英文字母和数字且不可以数字开头,大小写不区分。以!!开头的为全局变量。

New Pipe
Desc ‘$!desc’
Temp $!temp
!pspec $!pspec
!purp $!purp

新建管道,将!desc、!temp、!pspec、!purp 赋给其各属性

4、字符串方法实例

!line = ‘hello how are you’
!newline = !line.after(‘hello’).trim().upcase()

!newline设置为!line“hello”之后的字符串,且设置为大写

q var !newline
在命令行中显示 !newline

!newline = !newline.replace(‘how’,’ where’).replace(‘you’,’ you?’)
有误,应修改如下:
!newline = !newline.replace(‘HOW’, ‘WHERE’).replace(‘YOU’, YOU?’)
将HOW替换为WHERE,YOU替换为YOU?

5、定义函数

define function !!Area( !Length is REAL, !Width is REAL ) is REAL
!Area = !Length * !Width
return !Area $*函数!!Area有两个参数一个返回值
Endfunction
将上述代码拷贝到一个名为Area.pmlfunc的文件中,并将文件存储在pdms目录的pmlib中,便可调用该函数。

6、新建函数计算园的面积,测试函数

define function !!circleArea( !radius is REAL) is REAL
!Area = PI * pow(!radius,2)
return !Area
Endfunction

7、条件判断语句(If Construct)
–获取当前元素的类型
!Type = Type
–获取当前元素所属者的类型
!OwnType = Type of Owner
–如果类型是BRAN
IF (!Type eq ‘BRAN’) THEN
–$P为在命令行中打印
$P CE is Branch.
–再者如果所属者类型是BRAN
ELSEIF (!OwnType eq ‘BRAN’) THEN
$P CE is Branch member.
–其他情况
ELSE
$P CE is $!Type,Pls select Branch.
ENDIF

8、条件判断

!n = 0
!type = type
if(!type eq ‘BRAN’) then
–href为头部连接对象,tref为尾部连接元素
!href = href
!tref = tref
if(!href.set()) then
!n = !n + 1
–在graphicView中显示头部连接元素
add href
endif
if(!tref.set()) then
!n = !n + 1
add tref
endif
endif
if(!type eq ‘NOZZ’) then
–cref为管口连接元素
!cref = cref
if(!cref.set()) then
!n = !n + 1
add cref
endif
endif
$p Total $!n reference

9、循环赋值

!Total = 0
Do !x From 1 To 100 By 1
!Total = !Total + !x
Enddo
Do …enddo构成一个循环

10、中断循环 Break
!Total = 0
Do !x From 1 To 100
!Total = !Total + !x
If(!Total gt 500) then
Break $*或者Break if(!Total gt 500)
Endif
Enddo
Break为中断循环

11、用skip 跳过奇数

Do !x From 1 To 100
If(Int(!x / 2) NE (!x / 2)) then
Skip $*或者Skip If(Int(!x / 2) NE (!x / 2))
Endif
!Total = !Total + !x
Enddo
从1到100循环,!x/2后的取整之不等于!x/2则为奇数,skip为直接跳到do的位置,skip以下语句不再执行。
欢迎关注微信公众号 数智化工 了解更多资讯!

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PDMS(Plant Design Management System)是一种用于工程设计和建模的软件系统,它提供了一套完整的工具和功能,用于创建、管理和维护工业设施的三维模型。PDMS底层开发框架是指用于扩展和定制PDMS功能的开发框架。 PDMS底层开发框架主要基于C++编程语言,并提供了一系列的API(应用程序接口)和SDK(软件开发工具包),用于开发自定义的插件和应用程序。通过使用这些API和SDK,开发人员可以访问和操作PDMS中的对象、属性和功能,实现特定的需求和功能扩展。 PDMS底层开发框架提供了以下主要功能和特性: 1. 对象模型:PDMS底层开发框架提供了一个对象模型,用于表示PDMS中的各种对象,如模型、元素、属性等。开发人员可以通过访问和操作这些对象,实现对模型的修改和查询。 2. 数据访问:PDMS底层开发框架提供了一组API,用于读取和写入PDMS中的数据。开发人员可以使用这些API来获取模型的信息、修改属性值、创建新的对象等。 3. 事件处理:PDMS底层开发框架支持事件驱动的编程模型。开发人员可以注册事件处理程序,以响应PDMS中发生的各种事件,如对象创建、属性修改等。 4. 图形显示:PDMS底层开发框架提供了一组图形显示API,用于在PDMS中绘制图形和图形元素。开发人员可以使用这些API来创建自定义的图形显示效果。 5. 扩展性:PDMS底层开发框架允许开发人员创建自定义的插件和应用程序,以扩展PDMS的功能。开发人员可以根据自己的需求,实现特定的功能和算法,并将其集成到PDMS中。 总之,PDMS底层开发框架为开发人员提供了丰富的工具和功能,用于定制和扩展PDMS的功能。通过使用这些工具和功能,开发人员可以根据项目需求,实现特定的功能和定制化的工程设计解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值