Polyworks脚本开发学习笔记(八)-组合运用命令批量改名
Polyworks脚本开发学习笔记(八)-组合运用命令批量改名
需求解析
以下是使用包边比较点创建的一组包边点(即Gap点)和曲面点-包边点(即Flush点),这种命名方式不太常规,改为Gap和Flush
点会比较符合习惯,并且能够分开成组会更好。
所以总结为以下需求:
- 选中的组中比较点名称为曲面点 - 包边点的,替换为Flush,如将曲面点 - 包边点1改为Flush1
- 选中的组中比较点名称为包边点的,替换为Gap,如将包边点1改为Gap1
- 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脚本开发学习笔记(八)-组合运用命令批量改名相关推荐
- Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件
Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...
- Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件
Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...
- Polyworks脚本开发学习笔记(十)-互动式开发及出错控制
Polyworks脚本开发学习笔记(十)-互动式开发及出错控制 第八章组合的各种命令,完成了一个对所选的测点名称进行命名的任务.但是,由于任务中没有交互环节,只能机械地将 曲面点 - 包边点改为Flu ...
- Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用
Polyworks脚本开发学习笔记(二十)-补充几个常见操作指令的使用 大概要写到结尾了,最后几篇就将手册的各常用命令再看一遍,组合一下,并列举出常见的一些有用的操作. DATA_COLOR_MAP数 ...
- Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告
Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...
- Polyworks脚本开发学习笔记(五)-变量使用基本语法
Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...
- Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作
Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作 移动/交换对象的顺序 移动对象的顺序 TREEVIEW FEATURE MOVE ( 1,2 ) 将索引号为1和2的特征交换位置 T ...
- Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制
Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...
- Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数
Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数 Polyworks采用了脚本语言作为二次开发的工具,因此语言格式上非常规范和统一.其中一个重要的特点就是,几乎所有的对象都 ...
最新文章
- command对象提供的3个execute方法是_前阿里P9的Java面试重点3:多线程
- 【codeforces 807C】Success Rate
- core控制器属性注入的用处_了解ASP.NET Core 依赖注入,看这篇就够了
- ZOJ 3300 Mahjong DFS暴力解决。。
- linux脚本怎怎么屏蔽段落,怎么写shell脚本才能不耍流氓?
- vue-i18n和ElementUI国际化使用
- ExpandListView onChildClickListener 失效
- Autofs实现文件系统的自动mount
- 论文笔记_S2D.49_2017-CVPR_从视频中无监督学习深度和运动估计(SFMLearner)
- python服务端处理post请求_使用JSON处理GET和POST请求的简单Python服务器
- 曾仕强主讲:易经的奥秘(全文讲义)
- Android应用源码英语四级单选助手答题类app源码下载
- 【嵌入式】基于ARM的嵌入式Linux开发总结
- 通过Excel对各个商品的销售分析
- 部署Gbase 8c的系统要求
- 整数划分问题 java
- o2o现状及未来发展趋势是什么?
- vulnhub——Earth靶机
- wamp环境变量配置php,WAMP环境配置-PHP安装
- java如何保证mq一定被消费,RabbitMQ如何保证队列里的消息99.99%被消费?