PDMS二次开发软件

 找回密码
 注册 有问题进QQ群591484440

QQ登录

只需一步,快速开始

查看: 679|回复: 2

在移动和TEE或OLET连接的支管时总报错,求高手指教

[复制链接]

签到天数: 55 天

[LV.5]瞎扑签到5级

高级会员

积分
1032
发表于 2013-9-22 21:57:38 | 显示全部楼层 |阅读模式
        小弟最近在编写一个小程序,想实现移动多个管件的功能。如果管件是TEE或OLET,也可以移动与TEE或OLET相连BRANCH的头或尾的位置。但目前遇到了一个问题,就是在移动与TEE或OLET相连BRANCH的头或尾的位置时,程序有时会报错。
      以下是代码:
         var !pipecomponents coll all branch members with(type eq 'TEE' or type eq 'OLET' or type eq 'ELBO' or type eq 'ATTA')  for branch
         do !pipecomponent values !pipecomponents
             if(!type eq 'TEE' or  type eq 'OLET') then
               !branch=cref of $!pipecomonent
               $!branch
               move PH BY N1000 E0 U0
             endif
          enddo
     以上这段程序是用来实现移动与TEE或OLET相连BRANCH的头或尾的位置的,有时可以正常运行,有时候会报错。
     报错提示: !branch=cref of ^^unset
      求高手指教,感激不尽!!!!!!!!!!!!!!!!!!


哎哎哎

该用户从未签到

新手上路

积分
32
发表于 2013-9-23 15:16:47 | 显示全部楼层
因为你需要移动的内容没有被定义cref这个属性,你看看是不是成功的有cref,不成功的就没有定义cref

点评

我的想法是,先将管件放入一个数组,然后移动数组中的元素。再通过一个IF语句,判断管件的属性是否是TEE或OLET。如果是的就用 !branch=cref of $!pipecomonent,找出与之连接的支管,然后再通过IF语句判断与TEE或OLE  详情 回复 发表于 2013-9-23 19:53
回复 支持 反对

使用道具 举报

签到天数: 55 天

[LV.5]瞎扑签到5级

高级会员

积分
1032
 楼主| 发表于 2013-9-23 19:53:30 | 显示全部楼层
wanglei19850823 发表于 2013-9-23 15:16
因为你需要移动的内容没有被定义cref这个属性,你看看是不是成功的有cref,不成功的就没有定义cref

我的想法是,先将管件放入一个数组,然后移动数组中的元素。再通过一个IF语句,判断管件的属性是否是TEE或OLET。如果是的就用 !branch=cref of $!pipecomonent,找出与之连接的支管,然后再通过IF语句判断与TEE或OLET连接的是BRANCH的头还是尾,最后用 move PH BY N1000 E0 U0或 move PT BY N1000 E0 U0移动branch的头或尾的位置。TEE和OLET都是有cref这个属性的,但总是报错………………
哎哎哎
回复 支持 反对

使用道具 举报

本版积分规则

QQ|手机版|关于我们|Archiver|手机版|小黑屋|工程G3D ( 鄂ICP备16022302号-2 )

GMT+8, 2024-11-23 19:30 , Processed in 0.062503 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表