» 网友学堂 » Auto_CAD教程 » 几何计算器
几何计算器
作者:冷剑无痕 发表时间:2007-4-7 12:27 阅读:2912次 在百度搜索相关内容

几何计算器(Geometry Calculator)是集成在AutoCAD中的一个三维计算程序,可以计算矢量表达式(点、矢量和数值的组合)、实数和整数表达式。在计算中可以使用标准的数学函数,以及用于计算点、矢量和AutoCAD几何图形的专门函数。用户可直接在命令行调用“cal”命令,或在其他命令执行过程中透明地调用该命令('cal)来启动该计算程序。其计算结果可作为当前AutoCAD提示的输入或用于为一个AutoLISP变量赋值。
16.6.1 计算表达式
在几何计算器中可使用算术表达式和矢量表达式两种计算表达式。算术表达式可以是整数、实数和具有数值操作的函数构成,并可使用算术运算符进行连接。可用的算术运算符如表16-1所示。
表16-1 算术运算符

[color=#FFFFFF'][/color]





运算符

运算


, -
[color=#FFFFFF'][/color]


加,减
[color=#FFFFFF'][/color]



* , /

乘,除


^

指数计算
[color=#FFFFFF'][/color]



( )

将表达式编组
矢量表达式可以由点集、矢量、数字和矢量运算符所组成的函数来构成,并可使用矢量运算符进行连接。可用的矢量运算符如表16-2所示。
表16-2 矢量运算符




运算符
[color=#FFFFFF'][/color]


运算


, -

矢量加,减
[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


&;amp;

矢量的矢量积
[color=#FFFFFF'][/color]

[a,b,c]&;amp;[x,y,z]=[(b*z)-(c*y),(c*x)-(a*z),(a*y)-(b*x)]


( )

将表达式编组
在对表达式进行计算时,将遵照标准数学计算的优先级规则。
16.6.2 标准数值函数
可以在计算器中使用的数值函数详见表16-3。
表16-3 数值函数一览表




函数
[color=#FFFFFF'][/color]


说明


sin(角度值)
[color=#FFFFFF'][/color]


正弦函数
[color=#FFFFFF'][/color]



cos(角度值)

余弦函数
[color=#FFFFFF'][/color]



tang(角度值)

正切函数


Asin(实数)

反正弦函数
[color=#FFFFFF'][/color]



Acos(实数)

反余弦函数


Atan(实数)

反正切函数
[color=#FFFFFF'][/color]



ln(实数)

自然对数函数


log(实数)

以1 为底的对数函数
[color=#FFFFFF'][/color]



exp(实数)

自然指数函数


exp10(实数)

10为底的指数函数


sqr(实数)

平方函数
[color=#FFFFFF'][/color]



sqrt(实数)

平方根函数
[color=#FFFFFF'][/color]



abs(实数)

绝对值函数
[color=#FFFFFF'][/color]



round(实数)

圆整函数


Trunc(实数)
[color=#FFFFFF'][/color]


取整函数


r2d(角度)
[color=#FFFFFF'][/color]


将角度从弧度转换成度
表16-3 数值函数一览表




函数

说明


d2r(角度)

将角度从度转换成弧度


pi

常量&;#61500;/P>
16.6.3 矢量函数
在计算器中可使用如下各种矢量函数,如表16-4所示。
表16-4 矢量函数一览表
[color=#FFFFFF'][/color]





函数

说明


vec(p1,p2)

计算从点p1到点p2的矢量


vec1(p1,p2)

计算从点p1到点p2的单位矢量
[color=#FFFFFF'][/color]



abs(v)
[color=#FFFFFF'][/color]


计算矢量v的长度
[color=#FFFFFF'][/color]



nor

确定选定的圆、圆弧或多段线圆弧段的三维单位法向矢量


nor(v)

确定矢量v的二维单位法向矢量


nor(p1,p2)

确定直线(p1,p2)的二维单位法向矢量


nor(p1,p2,p3)
[color=#FFFFFF'][/color]


确定平面(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)
[color=#FFFFFF'][/color]


以直线(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)
[color=#FFFFFF'][/color]


将世界坐标系中的点p1转换到当前用户坐标系中


u2w(p1)

将当前用户坐标系中的点p1转换到世界坐标系中
此外,还可以在计算器中使用AutoCAD的点捕捉模式来获取点,如表16-6所示。
表16-6 计算器中可用的捕捉模式




缩写

捕捉模式
[color=#FFFFFF'][/color]



END
[color=#FFFFFF'][/color]


ENDPOINT(端点)
[color=#FFFFFF'][/color]



INS
[color=#FFFFFF'][/color]


INSERT(插入点)


INT

INTERSECTION(插入点)


MID

MIDPOINT(中点)


CEN

CENTER(圆心)


NEA

NEAREST(最近点)


NOD

NODE(节点)


QUA

QUADRANT(象限点)


PER
[color=#FFFFFF'][/color]


PERPENDICULAR(垂足)


TAN

TANGENT(切点)
16.6.5 点过滤函数
在计算器中可使用点过滤函数来获取点的各个分量,如表16-7所示。
表16-7 点过滤函数




函数

说明
[color=#FFFFFF'][/color]



xyof(p1)

获取点p1的X、Y分量,Z分量设置为0.0


xzof(p1)

获取点p1的X、Z分量,Y分量设置为0.0


yzof(p1)
[color=#FFFFFF'][/color]


获取点p1的Y、Z分量,X分量设置为0.0


xof(p1)
[color=#FFFFFF'][/color]


获取点p1的X分量,Y、Z分量设置为0.0
[color=#FFFFFF'][/color]



yof(p1)

获取点p1的Y分量,X、Z分量设置为0.0
[color=#FFFFFF'][/color]



zof(p1)

获取点p1的Z分量,X、Y分量设置为0.0


rxof(p1)

获取点p1的X分量


ryof(p1)

获取点p1的Y分量
[color=#FFFFFF'][/color]



rzof(p1)

获取点p1的Z分量
[color=#FFFFFF'][/color]

16.6.6 计算测量值函数
在计算器中可使用如下函数的来计算测量值,如表16-8所示。
表16-8 计算测量值的函数




函数
[color=#FFFFFF'][/color]


说明


dist(p1,p2)
[color=#FFFFFF'][/color]


确定两点 p1 和 p2 之间的距离。此函数相当于矢量表达式 abs(p1-p2)
[color=#FFFFFF'][/color]



dpl(p,p1,p2)
[color=#FFFFFF'][/color]


确定点 p 到直线 (p1,p2) 的最短距离


dpp(p,p1,p2,p3)
[color=#FFFFFF'][/color]


确定点 p 到平面 (p1,p2,p3) 的距离
表16-8 计算测量值的函数




函数
[color=#FFFFFF'][/color]


说明


dist(p1,p2)

确定两点 p1 和 p2 之间的距离。此函数相当于矢量表达式 abs(p1 - p2)


rad

确定选定对象的半径。对象可以是圆、圆弧或二维多段线的圆弧段


ang(v)

确定 X 轴和矢量 v 之间的夹角。矢量 v 被当作是二维的,投影在当前用户坐标系的 XY 平面上
[color=#FFFFFF'][/color]



ang(p1,p2)

确定 X 轴和直线 (p1,p2)(方向是从 p1 到 p2)之间的夹角。点被认为是二维的,投影在当前用户坐标系的 XY 平面上


ang(apex,p1,p2)
[color=#FFFFFF'][/color]


确定直线 (apex, p1) 和 (apex, p2) 之间的夹角。点被认为是二维的,投影在当前用户坐标系的 XY 平面上


ang(apex,p1,p2,p)

确定直线 (apex, p1) 和 (apex, p2) 之间的夹角。直线被认为是三维的。最后一个参数(点 p)用来定义角度的方向。此角度以顶点 apex 到点 p 的直线为轴按逆时针度量


cvunit(值,原测量单位,新测量单位)

AutoLISP 函数 cvunit 将数字或点从一种测量单位转换为另一种测量单位。关于可转换的测量单位列表,请参见Support/acad.unt 文件
16.6.7 使用变量
几何计算器允许在数学表达式中使用AutoLISP变量,也可以用计算器为一个AutoLISP变量赋值,该变量可以是整数、实数或一个2D或3D点。
此外,几何计算器也可以通过函数getvar(变量名)来获得AutoCAD系统变量的值。
[color=#FFFFFF'][/color]

#Advertisement