几何计算器(Geometry Calculator)是集成在AutoCAD中的一个三维计算程序,可以计算矢量表达式(点、矢量和数值的组合)、实数和整数表达式。在计算中可以使用标准的数学函数,以及用于计算点、矢量和AutoCAD几何图形的专门函数。用户可直接在命令行调用“cal”命令,或在其他命令执行过程中透明地调用该命令('cal)来启动该计算程序。其计算结果可作为当前AutoCAD提示的输入或用于为一个AutoLISP变量赋值。
16.6.1 计算表达式
在几何计算器中可使用算术表达式和矢量表达式两种计算表达式。算术表达式可以是整数、实数和具有数值操作的函数构成,并可使用算术运算符进行连接。可用的算术运算符如表16-1所示。
表16-1 算术运算符
运算符
运算
+, -
加,减
* , /
乘,除
^
指数计算
( )
将表达式编组
矢量表达式可以由点集、矢量、数字和矢量运算符所组成的函数来构成,并可使用矢量运算符进行连接。可用的矢量运算符如表16-2所示。
表16-2 矢量运算符
运算符
运算
+ , -
矢量加,减
[a,b,c]+[x,y,z]=[a+x,b+y,c+z]
*,/
矢量与实数相乘除
a*[x,y,z]=[a*x,a*y,a*z]
*
矢量的点积
[a,b,c]*[x,y,z]=ax+by+cz
&
矢量的矢量积
[a,b,c]&[x,y,z]=[(b*z)-(c*y),(c*x)-(a*z),(a*y)-(b*x)]
( )
将表达式编组
在对表达式进行计算时,将遵照标准数学计算的优先级规则。
16.6.2 标准数值函数
可以在计算器中使用的数值函数详见表16-3。
表16-3 数值函数一览表
函数
说明
sin(角度值)
正弦函数
cos(角度值)
余弦函数
tang(角度值)
正切函数
Asin(实数)
反正弦函数
Acos(实数)
反余弦函数
Atan(实数)
反正切函数
ln(实数)
自然对数函数
log(实数)
以1 为底的对数函数
exp(实数)
自然指数函数
exp10(实数)
10为底的指数函数
sqr(实数)
平方函数
sqrt(实数)
平方根函数
abs(实数)
绝对值函数
round(实数)
圆整函数
Trunc(实数)
取整函数
r2d(角度)
将角度从弧度转换成度
表16-3 数值函数一览表
函数
说明
d2r(角度)
将角度从度转换成弧度
pi
常量π
16.6.3 矢量函数
在计算器中可使用如下各种矢量函数,如表16-4所示。
表16-4 矢量函数一览表
函数
说明
vec(p1,p2)
计算从点p1到点p2的矢量
vec1(p1,p2)
计算从点p1到点p2的单位矢量
abs(v)
计算矢量v的长度
nor
确定选定的圆、圆弧或多段线圆弧段的三维单位法向矢量
nor(v)
确定矢量v的二维单位法向矢量
nor(p1,p2)
确定直线(p1,p2)的二维单位法向矢量
nor(p1,p2,p3)
确定平面(p1,p2,p3)的三维单位法向矢量
16.6.4 获取点的函数
在计算器中可使用如下各种函数来获取一个点,如表16-5所示。
表16-5 获取点函数一览表
函数
说明
cur
使用定点设备获取点
@
获得最后一个指定点
Pld (p1,p2,dist)
计算通过点p1和p2的直线上的一点,参数dist定义该点到点p1的距离
plt(p1,p2,t)
计算通过点p1和p2的直线上的一点,参数t为该点到p1点距离与该点到p2点距离的比值
rot(p,origin,ang)
绕经过点origin的Z轴旋转点p,转角为ang时所得到的点
rot(p,AxP1,AxP2,ang)
以直线(AxP1,AxP2)为轴旋转点p,转角为ang时所得到的点
ill(p1,p2,p3,p4)
计算直线(p1,p2)和(p3,p4)的交点
ilp(p1,p2,p3,p4,p5)
计算直线(p1,p2)和平面(p3,p4,p5)的交点
w2u(p1)
将世界坐标系中的点p1转换到当前用户坐标系中
u2w(p1)
将当前用户坐标系中的点p1转换到世界坐标系中
此外,还可以在计算器中使用AutoCAD的点捕捉模式来获取点,如表16-6所示。
表16-6 计算器中可用的捕捉模式
缩写
捕捉模式
END
ENDPOINT(端点)
INS
INSERT(插入点)
INT
INTERSECTION(插入点)
MID
MIDPOINT(中点)
CEN
CENTER(圆心)
NEA
NEAREST(最近点)
NOD
NODE(节点)
QUA
QUADRANT(象限点)
PER
PERPENDICULAR(垂足)
TAN
TANGENT(切点)
16.6.5 点过滤函数
在计算器中可使用点过滤函数来获取点的各个分量,如表16-7所示。
表16-7 点过滤函数
函数
说明
xyof(p1)
获取点p1的X、Y分量,Z分量设置为0.0
xzof(p1)
获取点p1的X、Z分量,Y分量设置为0.0
yzof(p1)
获取点p1的Y、Z分量,X分量设置为0.0
xof(p1)
获取点p1的X分量,Y、Z分量设置为0.0
yof(p1)
获取点p1的Y分量,X、Z分量设置为0.0
zof(p1)