Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令

MACRO命令中包含了很多宏脚本管理以及变量操作命令,交互操作命令等,是非常重要的一个模块。

数组和字符串操作

  1. 从数组中拿掉一个元素
#定义一个原始数组12345,从其中拿掉2
DECLARE vArrNum  {1,2,3,4,5}
DECLARE vNewArrNum
MACRO ARRAY ELEMENTS REMOVE ( $vArrNum,2,vNewArrNum)
#vNewArrNum= { 1, 3, 4, 5 } ,再拿掉1,3
MACRO ARRAY ELEMENTS REMOVE ( $vNewArrNum,{1,3},vNewArrNum)
#vNewArrNum= {4, 5 }
  1. 字符串操作: 集合了字符串的所有操作指令
    用字符串 "Hello"练习所有MACRO STRING相关字符串操作命令用法
#用字符串 "Hello"练习所有MACRO STRING相关字符串操作命令用法
DECLARE vStr1 "Hello"
DECLARE vNewStr1
#找Hello的第一个l位置是3,最后一个l位置是4
DECLARE vInd1
MACRO STRING FIND_FIRST ( $vStr1,"l",,vInd1)
MACRO STRING FIND_LAST ( $vStr1,"l",,vInd1)
#获取字符串长度,此处返回vNum=5
DECLARE vNum
MACRO STRING LENGTH GET ( $vStr1,vNum)
#将l替换为L,返回结果 "HeLLo"
MACRO STRING REPLACE ( $vStr1,"l","L",,,vNewStr1)
#将"1,2,3,4,5"用","分割为新的数组{ "1", "2", "3", "4", "5" }
MACRO STRING SPLIT ( "1,2,3,4,5",",",vNewStr1 )
#取vStr1="Hello"的2至4个字符组成新的字符串"ell"
MACRO STRING SUBSTRING ( $vStr1,2,3,vNewStr1)
#将"  Hello   “的前后空格去除,得到"Hello"
MACRO STRING TRIM_SPACES ("  Hello   ",vNewStr1)

输入对话框用法INPUT

  1. 使用MACRO INPUT可以获取各种类型的输入值

    以下为练习代码:
#获取双精度小数
DECLARE vDou
MACRO INPUT DOUBLE ( vDou,"请回答", "笔多少钱1支",1.5 )
#获取整数
DECLARE vInt
MACRO INPUT INTEGER ( vNum,"请回答", "你今年多大了",10 )
#获取密码,会显示为掩码。。。。。
DECLARE vPw
MACRO INPUT PASSWORD (vPw,"请回答", "电脑密码多少","123456")

  1. 使用MACRO INPUT获取文件路径和文件夹路径
#获取文件路径
DECLARE vFilePath
#MACRO INPUT FILE_PATH ( vFilePath )
#获取文件夹路径
DECLARE vFolderPath
MACRO INPUT FOLDER_PATH ( vFolderPath )

  1. 使用MACRO INPUT获取多重参数,注意提问采取三个参数一组构成数组,后面用对应变量接收回答
DECLARE vQuestion  {"string","你的姓名","张三","integer","你的年龄",25,"double","你的月工资",3000.0}
DECLARE vName
DECLARE vAge
DECLARE vSalary
MACRO INPUT MULTIPLE_PARAMETERS ( "信息调查","请回答以下问题:",$vQuestion,vName,vAge,vSalary)
  1. 接收Yes No的回答
#接收Yes No的选择,Yes返回1,No返回0
DECLARE vAns
MACRO INPUT QUESTION ( vAns,"你准备退出程序吗?" )

  1. 弹出当前工作区(默认)或者指定工作区的项目窗口

    以选择对应的工作项目

打开宏文件及执行宏命令

  1. MACRO 执行相关的宏命令
# 显示变量的值
SET  vNum 1
MACRO ECHO ( $vNum )
#停止当前脚本并返回"Error"
MACRO END ("Error")
#一旦遇到错误时停止当前脚本("On")
MACRO END_ON_ERROR ( "On" )
#宏脚本暂停20毫秒
MACRO SLEEP ( 20 )
#程序暂停
MACRO PAUSE ("等待","请注意程序已暂停,点击确认恢复")

  1. MACRO EXEC执行其它的宏脚本
#执行另一个宏脚本test.pwmacro
MACRO EXEC ( "$_PWK_FILES_PATH\test" )

Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令相关推荐

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

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

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

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

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

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

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

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

  5. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

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

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

  7. Polyworks脚本开发学习笔记(一)-脚本开发环境

    Polyworks脚本开发学习笔记(一)-脚本开发环境 背景 Polyworks的扫描尺寸测量分析模块是我工作中经常用到的一个模块,我不是做测量的,但是利用Polyworks对扫描获得的点云来进行尺寸 ...

  8. Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理

    Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...

  9. Polyworks脚本开发学习笔记(十二)-输出和读取文本文件

    Polyworks脚本开发学习笔记(十二)-输出和读取文本文件 Polyworks作为一个测量工具,将测量的数据方便的导出到文本文件则是一项必须的功能.在DATA_FILE这个命令下提供了很多子命令用 ...

最新文章

  1. java nextline_Java编程语言基础的9根支柱
  2. vue 启动时卡死_使用 Vue 两年后
  3. 聚类时需要标准化吗_打球时意外受伤,同伴需要担责吗?
  4. 【PAT乙级】1080 MOOC期终成绩 (25 分)
  5. WebSocket 1.0的学习和简单使用
  6. 【解题报告】Leecode 384. 打乱数组——Leecode每日一题系列
  7. 象棋人机对战中所用的极大极小值-alpha-beta剪枝算法介绍
  8. 企业级统一身份认证4A体系
  9. 42表盘直径是从哪测量_手表尺寸怎么选择 手表尺寸怎么测量
  10. 蒙特卡洛与遗传算法介绍
  11. 电容式位移传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  12. 网易校招编程题目之牛牛分苹果
  13. 支付宝、微信后台不死的黑科技
  14. 可截断素数(Truncatable primes)
  15. 奇葩的传参 lt;p gt; 哈哈哈哈 lt;/p gt;
  16. 字符串的使用(JavaScript)
  17. Android高工:细说 Android 多线程,探究原理知其所以然
  18. C#调用映美云打印机CFP535
  19. (附源码)基于BS结构的企业人事管理系统的设计与实现 毕业设计121727
  20. 【最优PID 整定】PID性能指标(ISE,IAE,ITSE和ITAE)优化、稳定性裕量(Matlab代码实现)

热门文章

  1. linux安装php详细过程
  2. abb880/580驱动程序,zmu程序图纸571/592/792
  3. 国内几大网络安全公司介绍
  4. python 图形界面“诈金花”游戏,更新了!附完整代码
  5. D. Inconvenient Pairs(二分容斥)
  6. 文字冒险类游戏的制作
  7. 联合概率、边际概率、条件概率
  8. 【小林计网笔记】 IP篇
  9. 记一件生活与查找的趣事
  10. anita的音乐空间(项目)