Polyworks脚本开发学习笔记(八)-组合运用命令批量改名

需求解析

以下是使用包边比较点创建的一组包边点(即Gap点)和曲面点-包边点(即Flush点),这种命名方式不太常规,改为Gap和Flush
点会比较符合习惯,并且能够分开成组会更好。
所以总结为以下需求:

  1. 选中的组中比较点名称为曲面点 - 包边点的,替换为Flush,如将曲面点 - 包边点1改为Flush1
  2. 选中的组中比较点名称为包边点的,替换为Gap,如将包边点1改为Gap1
  3. Gap点组合为1组,Flush点组合为1组

    比较点结构:

需求解析及实现1 - 改名

根据需求可以理解,在获取比较点成组对象以后,对选择的点进行遍历,发现 曲面点 - 包边点的,替换为Flush;
选中的组中比较点名称为包边点的,替换为Gap。代码如下:

version "5.0"TREEVIEW OBJECT SELECT NONE
#选择对象组3
TREEVIEW OBJECT_GROUP SELECT ( "对象组 3", "On" )
#定义变量数组获取所有比较点名称
DECLARE vArrPts
TREEVIEW COMPARISON_POINT NAME SELECTED GET ( vArrPts )
#MACRO ECHO ( $vArrPts )#循环改名
DECLARE i 1
WHILE $i<= SIZE (vArrPts)DECLARE vStr $vArrPts[$i]DECLARE vNewNameMACRO ECHO ($vArrPts[$i])DECLARE vPos1DECLARE vPos2DECLARE vPtType1 "曲面点 - 包边点"DECLARE vPtType2 "包边点"#获取当前名称对应的索引号,获取不到则跳过本次循环DECLARE vPtIndTREEVIEW COMPARISON_POINT INDEX GET ($vStr,vPtInd)IF $vPtInd==0 CONTINUEENDIF#在名称中查找有没有"曲面点 - 包边点",有则返回位置vPos1大于0MACRO STRING FIND_FIRST ( $vStr,$vPtType1,,vPos1 )#在名称中查找有没有"曲面点",有则返回位置vPos2大于0MACRO STRING FIND_FIRST ( $vStr,$vPtType2,,vPos2 )IF $vPos1>0#"曲面点 - 包边点"替换为"Gap"并重命名MACRO STRING REPLACE ( $vStr,$vPtType1,"Flush",,,vNewName )TREEVIEW COMPARISON_POINT NAME($vPtInd,$vNewName)ELSEIF  $vPos2>0#"曲面点"替换为"Gap"并重命名MACRO STRING REPLACE ( $vStr,$vPtType2,"Gap",,,vNewName )TREEVIEW COMPARISON_POINT NAME($vPtInd,$vNewName)ENDIF++i
ENDWHILE

运行效果如下:
改名效果很好,可以重新分组了

需求解析及实现2 - 分组

再做一次循环,检查凡是名称中有"Gap"的就选择,没有的就不选,然后利用GROUP命令将选择的点组合成组,代码如下:

version "5.0"TREEVIEW OBJECT SELECT NONE
#选择对象组3
TREEVIEW OBJECT_GROUP SELECT ( "对象组 1", "On" )
#定义变量数组获取所有比较点名称
DECLARE vArrPts
TREEVIEW COMPARISON_POINT NAME SELECTED GET ( vArrPts )DECLARE i 1
WHILE $i<= SIZE (vArrPts)DECLARE vStr $vArrPts[$i]DECLARE vPos1DECLARE vPtType1 "Gap"#获取当前名称对应的索引号,获取不到则跳过本次循环DECLARE vPtIndTREEVIEW COMPARISON_POINT INDEX GET ($vStr,vPtInd)IF $vPtInd==0 CONTINUEENDIF#在名称中查找有没有"Gap",有则返回位置vPos1大于0MACRO STRING FIND_FIRST ( $vStr,$vPtType1,,vPos1 )IF $vPos1>0#含有"Gap"则选择TREEVIEW COMPARISON_POINT SELECT ($vPtInd,"On")ELSE#否则取消选择TREEVIEW COMPARISON_POINT SELECT ($vPtInd,"Off")ENDIF++i
ENDWHILE
TREEVIEW COMPARISON_POINT GROUP ( )

圆满完成任务

Polyworks脚本开发学习笔记(八)-组合运用命令批量改名相关推荐

  1. Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件

    Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...

  2. Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件

    Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...

  3. Polyworks脚本开发学习笔记(十)-互动式开发及出错控制

    Polyworks脚本开发学习笔记(十)-互动式开发及出错控制 第八章组合的各种命令,完成了一个对所选的测点名称进行命名的任务.但是,由于任务中没有交互环节,只能机械地将 曲面点 - 包边点改为Flu ...

  4. Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用

    Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用 大概要写到结尾了,最后几篇就将手册的各常用命令再看一遍,组合一下,并列举出常见的一些有用的操作. DATA_COLOR_MAP数 ...

  5. Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...

  6. Polyworks脚本开发学习笔记(五)-变量使用基本语法

    Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...

  7. Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作

    Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作 移动/交换对象的顺序 移动对象的顺序 TREEVIEW FEATURE MOVE ( 1,2 ) 将索引号为1和2的特征交换位置 T ...

  8. Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制

    Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...

  9. Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数

    Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数 Polyworks采用了脚本语言作为二次开发的工具,因此语言格式上非常规范和统一.其中一个重要的特点就是,几乎所有的对象都 ...

最新文章

  1. command对象提供的3个execute方法是_前阿里P9的Java面试重点3:多线程
  2. 【codeforces 807C】Success Rate
  3. core控制器属性注入的用处_了解ASP.NET Core 依赖注入,看这篇就够了
  4. ZOJ 3300 Mahjong DFS暴力解决。。
  5. linux脚本怎怎么屏蔽段落,怎么写shell脚本才能不耍流氓?
  6. vue-i18n和ElementUI国际化使用
  7. ExpandListView onChildClickListener 失效
  8. Autofs实现文件系统的自动mount
  9. 论文笔记_S2D.49_2017-CVPR_从视频中无监督学习深度和运动估计(SFMLearner)
  10. python服务端处理post请求_使用JSON处理GET和POST请求的简单Python服务器
  11. 曾仕强主讲:易经的奥秘(全文讲义)
  12. Android应用源码英语四级单选助手答题类app源码下载
  13. 【嵌入式】基于ARM的嵌入式Linux开发总结
  14. 通过Excel对各个商品的销售分析
  15. 部署Gbase 8c的系统要求
  16. 整数划分问题 java
  17. o2o现状及未来发展趋势是什么?
  18. vulnhub——Earth靶机
  19. wamp环境变量配置php,WAMP环境配置-PHP安装
  20. java如何保证mq一定被消费,RabbitMQ如何保证队列里的消息99.99%被消费?

热门文章

  1. CIO40: 躬身入局者,担当作为,体现CIO价值!
  2. origin账号能买吗_origin账号注册教程图,这些经验不可多得
  3. 蓝桥 外星日历 JAVA
  4. 【githubdailyshare】可定制、现代化的跨平台文件管理器:Xplorer。支持 Windows、Linux、macOS
  5. 开发经理应该具备怎样的素质
  6. NOIP考前复习内容
  7. noip考前复习计划提醒(显然不全)
  8. 用PDF编辑器有哪些方法可以提取页面?
  9. 中国汽车互联网应该怎么做才对?看大搜车
  10. jira 查找issue_使用 JIRA API 获取 Issue