灵闪基础计算工具——Python脚本示例(1)
1、工具介绍

脚本编辑区:在此处输入脚本代码。
脚本执行结果提示区:在脚本编辑区内输入脚本后,该显示区的最右侧会显示一个“验证”按钮,点击即开始运行脚本,如果脚本有误,该区域内会提示错误原因,如果无误,会变成一个绿色的“√ ”图标。
运算函数表:涵盖了多类运算函数,可在下拉框内选择大类。选定某个函数,点击该函数,在此区域下方会出现该函数的注释;双击该函数,在脚本编辑区会自动添加该函数。如需要用到非运算函数表内、且属于NumPy库的数值计算函数,需要在脚本初始位置输入import numpy。
算法工具的输出参数列表:当前Task下所有算法的输出参数。
显示字体设置:该工具计算得到的结果会在主显示区内以文字形式显示,可调整显示的文字字体类型和字号。执行结果为True时,显示的文字颜色为绿;执行结果为False时,显示的文字颜色为红。
2、操作流程
2.1 单个数据取值
以多直线定位的直线中点数据为例子。
添加“数值计算”脚本工具。
第一条直线的中点坐标X取值:[多直线定位.中点][0]。
第一条直线的中点坐标Y取值:[多直线定位.中点][1]。
以此类推,[多直线定位.中点][2]代表第2条直线中点坐标的X取值。

2.2 坐标取值
以圆定位的圆心数据为例。
添加“点计算”脚本工具。
选择圆定位的圆心:直接选择圆定位的圆心:[圆定位.圆心];分开选择点的X和Y值:[圆定位.圆心][0], [圆定位.圆心][1]。


2.3 加减乘除括号运算
以线距为例子。
添加“数值计算”脚本工具。
选择要运算的数值,如[线到线的距离.距离]。
用加减乘除括号连接,如[线到线的距离_2.距离] - ( [线到线的距离_3.距离] - [线到线的距离.距离] )。

2.4 基础运算
以math.hypot(Number)为例子。
添加“数值计算”脚本工具。
选择要运算类型,如math.hypot(),选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如[线到线的距离.距离], [线到线的距离_2.距离]。

2.5 逻辑运算
以Logical1 and Logical2为例子。
添加“条件判断”脚本工具。
选择要运算类型,如and,选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如[线到线的距离.距离]>50 and [线到线的距离_2.距离]>100。

2.6 比较运算
以Value1 > Value2为例子。
添加“条件判断”脚本工具。
选择要运算类型,如 > ,选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如[清晰度判定.清晰度] > 120。

2.7 三角函数运算
以math.sin(Number)为例子。
添加“数值计算”脚本工具。
选择要运算类型,如math. sin (),选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如[交叉角度.角度]。

2.8 统计运算
以max (ValueList)为例子。
添加“数值计算”脚本工具。
选择要运算类型,如max (),选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如[线到线的距离.距离], [线到线的距离_2.距离]。

2.9 赋值运算
以Variable *= Variable2为例子。
添加“数值计算”脚本工具。
选择要运算类型,如 *= ,选中运算类型后,其运算规则在下方注释。
根据样例填入参数,如a *= 2(其中a = [点到线的距离.距离]),表示a = a*2。

2.10 保留整数
以取直线中点的X值为例子。
添加“字符串生成”脚本工具。
在基础类型中选择math.trunc(),其运算规则在下方注释。运算str(),将数值转换成字符串形式。
根据公式填入参数,如str(math.trunc([直线定位.中点][0]))。

2.11 显示保留n位小数的值
以保留1位小数为例子。
添加“字符串生成”脚本工具。
计算公式为"{:.nf}".format(x) 或者str("{:.nf}".format(x)),其中n为保留的小数位数,x为目标数据。
根据公式填入参数,如"{:.1f}".format([点到线的距离.距离])。

2.12 字符串运算
以截取字符串内整数部分为例子。
添加“字符串生成”脚本工具。
选择要运算类型,如 [ : ] ,选中运算类型后,其运算规则在下方注释。
创建一个完整的字符串str = 'Distance=' +str([点到线的距离.距离]),该str字符串的结果为“Distance=214.5027098…”,输出的str[9:12],即截取str字符串的第9号位至第11号位(“:”前的编号位包含,“:”后的编号位不包含)上的字符(字符串位置编号从0开始)。

2.13 控制运算
以if(Condition): Branch1 else: Branch2为例子。
添加“数值计算”脚本工具。
选择要运算类型,如 if-else,其运算规则在下方注释。
根据样例填入判断依据[点到线的距离.距离]>200。
