表达式
凡是 PiQ 要求输入数字或位置的地方——点、变量、工具选项、交互窗口中的一行——都可以改为输入表达式。由表达式定义的点和变量会保留其表达式:更改变量或移动点,所有由其定义的内容都会随之改变。名称和函数可以用任意大小写输入。
示例图纸
这些页面中的示例均在一个毫米单位的图纸中计算,其中包含:
| 名称 | 值 |
|---|---|
L, W |
500 和 300 |
| P0, P1, P2 | [0,0]、[500,0] 和 [500,300]:P1 为 RIGHT(P0,L),P2 为 UP(P1,W) |
| P6 | [60,80] |
@5 |
从 [0,0] 到 [100,0] 的线段 |
@6 |
圆心为 [50,10]、半径为 20 的圆 |
@7 |
从 [100,0] 到 P6 的线段 |
值和名称
构成表达式的值,以及表达式所引用的名称。
| 表达式 | 结果 |
|---|---|
| 数字 | 一个数字:整数、小数、分数,或英尺和英寸。 |
| 字符串 | 双引号中的文本。 |
| TRUE 和 FALSE | 两个真假值。 |
| 名称 | 按名称引用的变量,或按编号引用的点。 |
| .NAME | 按名称获取值的属性:图元的点、圆角的圆心 … |
| NAME(…) | 用 FUNCTION 定义的您自己的函数,用给定参数进行计算。 |
运算符
对值进行运算:算术、比较,以及组合 TRUE 和 FALSE。
| 表达式 | 结果 |
|---|---|
| ( ) | 先计算括号内的内容。 |
| - 和 ! | 数字或位置取负;TRUE 或 FALSE 取反。 |
| + - * / % | 数字和位置的加、减、乘、除;求余数。 |
| < <= > >= | 一个数字是否小于或大于另一个数字。 |
| == != ~= | 两个值是否相等、不相等,或近似相等(差别可忽略)。 |
| && || ^ | 组合 TRUE 和 FALSE 值。 |
选择
根据测试选择的值。
| 表达式 | 结果 |
|---|---|
| ? : | 根据测试结果取一个值或另一个值。 |
| SWITCH | 在字典或列表中查找的值,并可指定查找不到时的值。 |
列表和字典:将多个值作为一个整体,并通过 [index] 或 [key] 取其中一个。 |
|
| CONCAT, SUBRANGE, INDEXOF, CONTAINS | 列表(及字符串)的连接、截取部分、某个值在其中的位置,以及是否包含该值。 |
数字
数字函数。
| 表达式 | 结果 |
|---|---|
| ABS | 数字的绝对值(不带符号)。 |
| SIGN | 数字是负数、零还是正数。 |
| SQR | 数字的平方:自身乘以自身。 |
| SQRT | 数字的平方根。 |
| CBRT | 数字的立方根。 |
| EXP | e(2.71828…)的该数字次幂。 |
| LOG | 数字的自然对数(以 e 为底)。 |
| LOG10 | 数字以 10 为底的对数。 |
| TRUNC | 向 0 方向截去小数部分的数字。 |
| ROUND | 四舍五入到最接近整数的数字。 |
| NEARESTFRAC | 将数字舍入到最接近的英寸分数(二分之一、四分之一 … 直到最大分母)。 |
| FLOOR | 小于或等于该数字的整数。 |
| CEIL | 大于或等于该数字的整数。 |
| DOUBLE | 将值转换为小数。 |
| INT | 将数字转换为整数。 |
| TOMM | 将英寸换算为毫米。 |
| TOIN | 将毫米换算为英寸。 |
| MIN | 两个数字中较小的一个。 |
| MAX | 两个数字中较大的一个。 |
| POW | 数字的乘方。 |
角度和三角函数
三角函数以弧度为单位;POLAR、ROTATE 和各工具使用角度(度)。DTOR 和 RTOD 用于换算。
| 表达式 | 结果 |
|---|---|
| DTOR | 将度换算为弧度。 |
| RTOD | 将弧度换算为度。 |
| SIN | 以弧度表示的角的正弦。 |
| COS | 以弧度表示的角的余弦。 |
| TAN | 以弧度表示的角的正切。 |
| ASIN | 正弦为该数字的角(以弧度表示)。 |
| ACOS | 余弦为该数字的角(以弧度表示)。 |
| ATAN | 正切为该数字的角(以弧度表示)。 |
| SINH | 数字的双曲正弦。 |
| COSH | 数字的双曲余弦。 |
| TANH | 数字的双曲正切。 |
| ASINH | 数字的反双曲正弦。 |
| ACOSH | 数字的反双曲余弦。 |
| ATANH | 数字的反双曲正切。 |
| ATAN2 | 由 Y 和 X 求得的方向角,覆盖整个圆周。 |
| ANGLE | 方向(例如 P2-P1 这样的步长)的角度。 |
点和方向
位置,以及由其他点定义的点。
| 表达式 | 结果 |
|---|---|
| [x,y] | 由 X 和 Y 构成的位置。 |
| .X 和 .Y | 位置的 X 或 Y。 |
| NORMALIZE | 长度变为 1 的方向。 |
| DISTANCE | 两个位置之间的距离。 |
| DOT | 两个方向的点积:一个方向沿另一个方向的分量。 |
| CROSS | 两个方向的叉积:一个方向转向另一个方向的旋转方向。 |
| LEFT, RIGHT, UP, DOWN | 位于另一点正横向或正上方、正下方的点。 |
| POLAR | 距另一点一定角度和距离的点。 |
| POLARDISTANCEX | 沿过某点的斜线走多远才能与另一点对齐(X 相同)。 |
| POLARDISTANCEY | 沿过某点的斜线走多远才能与另一点对齐(Y 相同)。 |
| ALONG | 从一个位置朝另一个位置前进一段距离的点。 |
| ALONGFROMEND | 从第二个位置朝第一个位置返回一段距离的点。 |
| TRIANGULATE | 与两点各相距一定距离的点。 |
| RAYCROSSING | 过两点、成一定角度的两条直线的交点。 |
| LINECIRCLE | 过两点的直线与圆的交点。 |
| BENDALLOWANCE | 钣金:折弯沿中性线的长度。 |
| BENDDEDUCTION | 钣金:一处折弯需从外尺寸中扣除的长度。 |
| KFACTOR | 钣金:根据材料的 K 因子表,求其在折弯的 R / T 下的 K 因子。 |
| 图幅字段 | 图纸所含的信息,用于图框的标题栏:HOSTNOTE、DRAWINGTITLE、SHEETNO、SHEETSCALE、TODAY … |
插值和限制
介于其他值之间的值,以及限制在范围内的值。
| 表达式 | 结果 |
|---|---|
| LERP | 从一个值到另一个值按比例取的值。 |
| LERPFROMEND | 从第二个值返回第一个值按比例取的值。 |
| INVERSELERP | 一个值位于两值之间的比例位置。 |
| REMAP | 从一个范围映射到另一个范围的值。 |
| CLAMP | 限制在范围内的值。 |
| SMOOTHSTEP | 数字从 0 变到 1 时,从 0 到 1 的平滑过渡。 |
| SMOOTHERSTEP | 数字从 0 变到 1 时,从 0 到 1 的更平滑过渡。 |
变换
用于移动、旋转和缩放位置的变换:位置乘以变换即为移动后的位置。
| 表达式 | 结果 |
|---|---|
| TRANSLATE | 将位置按步长平移的变换。 |
| ROTATE | 将位置绕中心旋转的变换。 |
| SCALE | 将位置绕中心缩放的变换。 |
| SKEW | 将位置倾斜的变换。 |
| MATRIX | 由六个数字给定的变换(九个数字:透视变换)。 |
| IDENTITY | 不做任何改变的变换。 |
| MIRROR | 将位置关于过两点的直线镜像的变换。 |
| INVERSE | 撤销另一个变换的变换。 |
| HOMOGRAPHY | 将四个或更多位置变换到同样数量的其他位置的透视变换。 |
图元上的点
图元用其 id 表示,如 @5,表达式可以计算图元上的位置,因此以这种方式定义的点会在图元改变时随之改变。拆分、相交、圆角和倒角工具以及对象捕捉都以这种方式定义其点,而不是将其固定在空间中。
| 表达式 | 结果 |
|---|---|
| @n | 按 id 引用的图元。 |
| ONELEMENT | 沿图元按比例取的点。 |
| ALONGELEMENT | 沿图元一段距离处的点。 |
| FROMEND | 从图元终点往回测量沿图元的位置。 |
| CROSSING | 两个图元的交点。 |
| LENGTHOF | 图元沿其自身的长度。 |
| AREAOF | 闭合图元所围的面积。 |
| PERIMETEROF | 闭合图元的周长。 |
| CENTEROF | 圆、圆弧或椭圆的中心。 |
| QUADRANT | 圆、圆弧或椭圆的象限点。 |
| FOOT | 从点到图元的垂足。 |
| TANGENT | 过某点的直线与圆或圆弧的切点。 |
| FILLET | 将两个图元之间的拐角倒圆的圆角圆弧。 |
| CHAMFERDISTANCES | 切去两个图元之间拐角的倒角,沿每个图元各退回一段距离。 |
| CHAMFEREQUAL | 切去两个图元之间拐角的倒角,沿两个图元退回相同的距离。 |
| CHAMFERDISTANCEANGLE | 切去两个图元之间拐角的倒角,沿第一个图元退回一段距离并以一定角度离开它。 |
在图元上排布加工内容
刻字膜切割和地板工具用以下表达式在设计或房间的图元上排布加工内容,写在点和块中,因此图元改变时这些内容会随之改变。图元以 ID(@5)或列表({@5,@6})给出。
| 表达式 | 结果 |
|---|---|
| EXTENTMIN | 图元外包框的左下角。 |
| EXTENTMAX | 图元外包框的右上角。 |
| WEEDLINES | 横穿一个框、止于设计的排废线。 |
| CONTOUR | 图元形状向外一定距离的外围轮廓。 |
| CLIPTO | 图元位于某个框内的部分,经过移动。 |
| ROLLDROPS | 卷材铺满地面时的各裁幅。 |
| ROLLSEAMS | 各裁幅之间的接缝。 |
| ROLLPLAN | 从卷材上裁下的各裁幅,带修边余量。 |
| ROLLLENGTH | 各裁幅所需的卷材长度。 |
| FLOORAREA | 地面各轮廓合并后的面积。 |