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

前言

比较运算、逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大的不同,但在细节上还是有一些不太一样的地方,这里也做一下回顾。

比较运算

小于 < smaller than
小于或等于 <= smaller than or equal to
大于 > larger than
大于或等于 >= larger than or equal to
等于 eq equal to
不等于 !eq different from
等于 == equal to
不等于 != different from
总结以上,等于有两种表达方式 eq 和 == ,不等于也有两种表达方式 !eq和!= ,这是比较不同的地方。

比较运算的结果为True或者False,为逻辑型变量

数学运算

常规运算: 加法 + 减法 - 乘法 * 除法 /
求余数 %
括号 改变计算优先级 ()
还有数学函数 SIN COS TAN 等见上一章

逻辑运算

常见逻辑运算为 与 非 或 (异或较少这里不提了)
在Polyworks脚本开发中,没有直接的与 非 或 逻辑运算,只能用
IF … ELSE…ENDIF 来模拟逻辑运算

流程分支

  1. IF … ELSE…ENDIF 流程分支
DECLARE n 5
IF $n>6 MACRO ECHO ("True")
ELSEMACRO ECHO ("False")
ENDIF
  1. IF … ELSEIF…ENDIF 流程分支
DECLARE n 5
IF $n>6 MACRO ECHO ("大于6")
ELSEIF  $n<0MACRO ECHO ("小于0")
ENDIF
  1. IF … ELSEIF…ELSE…ENDIF 流程分支
DECLARE n 5
IF $n>6 MACRO ECHO ("大于6")
ELSEIF  $n<0 MACRO ECHO ("小于0")
ELSEIF  EXPR ($n%2)==0MACRO ECHO ("小于6的偶数")
ELSEMACRO ECHO ("小于6的奇数")
ENDIF

循环控制

  1. 循环体 WHILE 判断条件 … END WHILE
DECLARE n 4
DECLARE i 1
WHILE $n>0MACRO ECHO ("第${i}次循环,变量为${n}")--n++i
ENDWHILE

运行结果:
第1次循环,变量为4
第2次循环,变量为3
第3次循环,变量为2
第4次循环,变量为1
2. 循环体跳出命令
有两个命令跳出循环体,CONTINUE 跳出本次循环,BREAK 跳出整个循环

DECLARE n 10
DECLARE i 1
WHILE $n>0--n++iMACRO ECHO ("第${i}次循环,变量为${n}")IF $n==2 MACRO ECHO ("执行到变量为2就停止")BREAKELSEIF $n==5CONTINUEELSEMACRO ECHO ("${i}${_NEWLINE}")ENDIF
ENDWHILE

结果如下: 可以看到变量n等于2时BREAK执行跳出循环,n==5则跳过下面的语句直接进入下一个循环。

第2次循环,变量为9
2
第3次循环,变量为8
3
第4次循环,变量为7
4
第5次循环,变量为6
5
第6次循环,变量为5
第7次循环,变量为4
7
第8次循环,变量为3
8
第9次循环,变量为2
执行到变量为2就停止

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

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

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

  2. Polyworks脚本开发学习笔记(七)-完成一个自动化任务

    Polyworks脚本开发学习笔记(七)-完成一个自动化任务 利用之前的命令建立一个自动化脚本 第一步: 设置环境参数 设置注释字体避免出现不兼容中文的乱码,常用微软雅黑 #设置注释字体 VIEW A ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. devc 无法编译循环语句_鸡生蛋还是蛋生鸡?详解第一个编译器是怎么来的~
  2. pycharm matplotlib.pyplot.figure().add_subplot()绘制三维图时报错:ValueError: Unknown projection 3d(bug)
  3. Linux多线程实践(1) --线程理论
  4. java制作h5视频聊天_JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。...
  5. pd怎么卸载linux系统,parallels desktop11怎么卸载?parallels desktop11卸载方法
  6. centos7 frp内网穿透
  7. 前端控件JQuery Datatables使用——常用功能初始化
  8. 《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一 3.13 故事
  9. gravity与Layout_gravity的区别
  10. 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
  11. Java学习(二)Object
  12. FreeMarker整合Spring 3(转)
  13. TM2008预览版试用 速度快完美兼容Vista
  14. java cloud面试题_spring cloud 面试题
  15. DSP芯片TMS320F2812之ADC模块的说明及使用步骤
  16. 坑——FreeSwitch接通30s就挂断
  17. Git分支的作用与使用
  18. php保存微信用户头像到本地或者服务器的完美方案!
  19. 图像配准融合(一)——基于互信息的图像配准方法(c++)
  20. 说说12306,呆在深圳就只能一直抢票

热门文章

  1. 【笑傲江湖】编译可用c++源码
  2. 在阿里云的CentOS 6.5 上面安装 timidity++ 和 ffmpeg(含libmp3lame) 实现命令行将midi转换为mp3...
  3. SQL2000装win10问题解决
  4. UE4 多国语言翻译
  5. discuz修改用户uid_discuz教程:修改用户组颜色同时并不修改用户名字的颜色
  6. 2013年度学习计划,放在博客里面时时的警告自己要坚持。
  7. 怎么把cda文件转换成mp3
  8. 愉快学习!R型变压器功率计算详细图解!
  9. StarUML安装破解及使用简明教程
  10. python播放器代码