CAD之CAL命令.doc_第1页
CAD之CAL命令.doc_第2页
CAD之CAL命令.doc_第3页
CAD之CAL命令.doc_第4页
CAD之CAL命令.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

17CAL 命令计算算术和几何表达式 命令行: cal(或 cal,用于透明使用)CAL 是一种联机几何计算器,用于计算点(矢量)、实型或整型表达式的值。这些表达式可通过对象捕捉函数(例如:CEN、END 和 INS)获取现有的几何图形。可将 AutoLISP 变量插入算术表达式并返回表达式的值,以给 AutoLISP 变量赋值。对于任何需要点、矢量或数字的 AutoCAD 命令,均可使用这些算术或矢量表达式。 CAL 主题: 理解表达式语法 设置英尺和英寸的格式 设置角度的格式 使用点和矢量 使用 AutoLISP 变量 使用 AutoCAD 系统变量 转换测量单位 使用标准数值函数 通过两点计算矢量 计算矢量长度 通过光标获取点 获取上一个指定点 在算术表达式中使用 AutoCAD“捕捉”模式 在 UCS 和 WCS 之间转换点的坐标值 计算直线上的点 绕坐标轴旋转点 获取交点 计算距离 获取半径 获取角度 计算法向矢量 使用快捷函数 理解表达式语法 理解表达式语法CAL 遵照标准数学计算的优先级规则计算表达式的值: 括号中的表达式优先,最内层括号优先 运算符按标准顺序计算:指数优先,乘除次之,加减最后 优先级相同的运算符从左至右计算数值表达式 数值表达式由实数、整数和函数用下表中的运算符连接组成。 数值运算符 运算符 操作 ( ) 将表达式编组 指数计算 * , / 乘、除 +, - 加、减 以下是数值表达式的样例: 3 3 + 0.6 (5.82) + PI 矢量表达式 矢量表达式由点集、矢量、数字和函数用下表中的运算符连接组成。 矢量运算符 运算符 操作 ( ) 将表达式编组 & 计算矢量的矢量积(结果仍为矢量) a,b,c&x,y,z = (b*z) - (c*y) , (c*x) - (a*z) , (a*y) - (b*x) * 计算矢量的标量积(结果为实数) a,b,c*x,y,z = ax + by + cz *, / 矢量与实数相乘除 a*x,y,z = a*x,a*y,a*z + , - 矢量与矢量(点)相加减 a,b,c + x,y,z = a+x,b+y,c+z 以下是矢量表达式的样例: A+1,2,3 表示距离 A 点 1,2,3 个单位的点。 表达式 24545 + 245表达式:(mid+cen)/2 选择 MID 捕捉的图元:选择槽口直线 (1) 选择 CEN 捕捉的图元:选择大圆 (2) 直径/:cal 表达式:1/5*rad 为函数 RAD 选择圆、圆弧或多段线线段:选择大圆 (3) 设置角度的格式角度的默认单位是十进制度数。请按以下格式输入角度: 度d分秒 当输入的角度小于 1 度(只有分和秒)时,必须输入 0 和 d (0d)。可以省略零分和零秒。 要按弧度输入角度,请在输入的数字后面加上 r。要按百分度输入角度,请在输入的数字后面加上 g。 以下是各种角度输入法的样例: 124.6r 14g 5d1020 0d1020 不论以何种格式输入角度,AutoCAD 都会将其转换成十进制角度的格式。 Pi 弧度等于 180 度,100g 等于 90 度。 使用点和矢量点和矢量都是两个或三个实数的组合。点用于定义空间中的位置,而矢量用于定义空间中的方向或平移。 有些 CAL 函数,例如 pld 和 plt,返回点。另一些函数,例如 nor 和 vec,返回矢量。 设置点和矢量的格式 点或矢量是三个实型表达式的集合,括在方括号 ( ) 中:r1,r2,r3 标记法 p1 和 p2 等用来标明点。标记法 v1 和 v2 等用来标明矢量。在图形中,点显示为圆点,矢量显示为带箭头的直线。 CAL 支持所有 AutoCAD 格式表示的点。 点的格式 坐标系 点的格式 极轴 距离角度 柱坐标 距离角度,z 球坐标 距离角度 1角度 2 相对坐标 使用前缀 x,y,z 世界坐标系(而不是用户坐标系) 使用前缀 * *x,y,z 可以省略点或矢量的下列部件:为零的坐标值和右方括号 () 前面的逗号。 下列点都是有效的点: 1,2 等同于 1,2,0 ,3 等同于 0,0,3 等同于 0,0,0 下例中的点是按相对球坐标系(相对于世界坐标系)输入的。距离是 1+2=3,角度是 10+20=30 度和 45 度,20 分。 *1+210+20 表达式:P1=cen+1,0 选择图元用于 CEN 捕捉:选择圆或圆弧 命令:cal 表达式:R1=dist(end,end)/3 选择图元用于 END 捕捉:选择对象的端点 本例用到了变量 P1 和 R1 的值: 命令:circle 指定圆的圆心或 三点(3P)/两点(2P)/相切、相切、半径(T):cal 表达式:P1+0,1 指定圆的半径或 直径(D) :cal 表达式:R1+0.5 使用 AutoCAD 系统变量可使用 AutoLISP 函数 getvar 读取 AutoCAD 系统变量的值。 语法为: (getvar variable_name) 下例使用 getvar 获得当前视口中视图的中心点。 (setq c (getvar viewctr) 转换测量单位AutoLISP 函数 cvunit 将数字或点从一种测量单位转换为另一种测量单位。关于可转换的测量单位列表,请参见 Support/acad.unt 文件。语法为: cvunit(value, from_unit, to_unit) 下例将值 1 从英尺转换为厘米: cvunit(1,inch,cm) 使用标准数值函数CAL 支持下表中的标准数值函数。 数值函数 函数 说明 sin(角度) 角度的正弦 cos(角度) 角度的余弦 tang(角度) 角度的正切 asin(实数) 数值的反正弦,数值必须在 -1 到 1 之间 acos(实数) 数值的反余弦,数值必须在 -1 到 1 之间 atan(实数) 数值的反正切 ln(实数) 数值的自然对数 log(实数) 以 10 为底的对数 exp(实数) 数值的自然指数 exp10(实数) 以 10 为底的指数 sqr(实数) 数值的平方 sqrt(实数) 数值的平方根,必须为非负数 abs(实数) 数值的绝对值 round(实数) 数值舍入到最接近的整数 trunc(实数) 数值的整数部分 r2d(角度) 将角度从弧度转换成度,例如,r2d(pi) 可将常量 pi 转换成 180 度 d2r(角度) 将角度从度转换成弧度,例如,d2r(180) 可将 180 度转换成弧度,且返回值为常量 pi pi 常量 pi 通过两点计算矢量函数 vec 和 vec1 用于通过两点计算矢量。 vec(p1,p2) 计算从点 p1 到点 p2 的矢量。 vec1(p1,p2) 计算从点 p1 到点 p2 的单位矢量。 下例使用 CAL 命令移动选定对象三个单位(沿一个选定圆的圆心到另一个选定圆的圆心的方向): 命令:move 选择对象 指定基点或位移:cal 表达式:3*vec1(cen,cen) 选择图元用于 CEN 捕捉:指定圆或圆弧 指定位移的第二点或 :指定点或按 ENTER 键 下例阐明了矢量和点计算的含义。 矢量和点计算的样例 表达式 含义 vec(a,b) 确定从点 a 到点 b 的矢量平移。 vec1(a,b) 确定从点 a 到点 b 的单位矢量方向。 L*vec1(a,b) 确定长度 L 在从点 a 到点 b 方向上的矢量。 a+v 确定从点 a 平移矢量 v 后得到的点 b。 a+520 确定从点 a 以 20 度角偏移 5 个单位后得到的点 b。注意,520 是以极坐标表示的矢量。 计算矢量长度函数 abs 用于计算矢量长度。 abs(v) 计算矢量 v 的长度,结果为非负实数。 在球坐标(距离角度 表达式:cen+0,1 选择图元用于 CEN 捕捉:选择圆或圆弧 指定下一点或 闭合(C)/放弃(U):cal 表达式:+3*vec1(cen,cen) 直线的第一点自第一个选定圆的圆心在 Y 轴方向上偏移一个单位。直线的第二点距第一点三个单位。直线的方向是从第一个选定圆的圆心指向第二个选定圆的圆心。在算术表达式中使用 AutoCAD“捕捉”模式可以使用 AutoCAD“捕捉”模式作为算术表达式的一部分。AutoCAD 提示用户选择对象并返回相应捕捉点的坐标。在算术表达式中使用“捕捉”模式大大简化了相对其他对象的坐标输入。 使用“捕捉”模式时,只需输入它的三字符名称。例如,使用“圆心捕捉”模式时,输入 cen。CAL“捕捉”模式设置 LASTPOINT 系统变量的值。 CAL 捕捉模式 缩写 “捕捉”模式 END ENDPOINT INS INSERT INT INTERSECTION MID MIDPOINT CEN CENTER NEA NEAREST NOD NODE QUA QUADRANT PER PERPENDICULAR TAN TANGENT 下例的 CAL 表达式中使用了“圆心捕捉”和“端点捕捉”模式: (cen+end)/2 CAL 命令提示选择圆(或圆弧)和对象。然后确定圆或圆弧的中心到选定对象端点的中点。 在下例中,使用“中点捕捉”模式时,CAL 命令提示选择一个对象,然后自选定对象的中点沿 Y 方向偏移一个单位处返回一个点。 mid+,1 下例中使用的是“端点捕捉”模式,计算三个端点定义的三角形的质心: (end+end+end)/3 在 UCS 和 WCS 之间转换点的坐标值通常,AutoCAD 假定所有坐标值都是相对于当前 UCS 的。可以使用下列函数在 UCS 和 WCS 之间转换点的坐标值。 w2u(p1) 将以 WCS 表示的点 p1 转换到当前 UCS 中。 u2w(p1) 将以当前 UCS 表示的点 p1 转换到 WCS 中。 可使用 w2u 查找用当前的 UCS 表示的 WCS 的原点: w2u(0,0,0) 过滤点或矢量的 X、Y、Z 分量 下列函数用于过滤点或矢量的 X、Y、Z 分量: 点过滤函数 函数 说明 xyof(p1) 点的 X 和 Y 分量;Z 分量设置为 0.0 xyof(p1) 点的 X 和 Z 分量;Y 分量设置为 0.0 yzof(p1) 点的 Y 和 Z 分量;X 分量设置为 0.0 xof(p1) 点的 X 分量;Y 和 Z 分量设置为 0.0 yof(p1) 点的 Y 分量;X 和 Z 分量设置为 0.0 zof(p1) 点的 Z 分量;X 和 Y 分量设置为 0.0 rxof(p1) 点的 X 分量 ryof(p1) 点的 Y 分量 rzof(p1) 点的 Z 分量 下例提供了一个以球坐标表示的点的 Z 分量: zof(24545) 下例提供了一点,其 X 和 Y 坐标值取自点 a,而 Z 坐标值取自点 b: xyof(a)+zof(b) 计算直线上的点plt 和 pld 函数在给定的直线上返回一点。点在直线上的位置可以通过它与第一点之间的距离指定,也可以通过参数 t 参数化确定。 pld(p1,p2,dist) 计算通过点 p1 和 p2 的直线上的一个点。参数 dist 定义该点到点 p1 的距离。 plt(p1,p2,t) 计算通过点 p1 和 p2 的直线上的一个点。参数 t 定义该点在直线上的以参数表示的位置。 以下是参数 t 的样例: 如果 t=0,则所求点为 p1如果 t=0.5,则所求点是 p1 和 p2 之间的中点如果 t=1,则所求点为 p2 绕坐标轴旋转点rot 函数绕坐标轴旋转点并返回旋转得到的点。 rot(p,origin,ang) 以经过点 origin 的 Z 轴为轴旋转点 p,转角为 ang ,如下例所示: rot(p,AxP1,AxP2,ang) 以经过点 AxP1 和点 AxP2 的直线为轴旋转点 p,转角为 ang,如下例所示。轴的方向为从第一个点到第二个点。 获取交点ill 和 ilp 函数可以确定交点。 ill(p1,p2,p3,p4) 确定两条直线 (p1、p2) 和 (p3、p4) 的交点。AutoCAD 将所有点都视为三维点。 ilp(p1,p2,p3,p4,p5) 确定直线(通过 p1、p2)和平面(通过三点 p3、p4、p5)的交点。计算距离dist(p1,p2) 确定点 p1 和 p2 之间的距离。此函数相当于矢量表达式 abs(p1-p2)。 dpl(p,p1,p2) 确定点 p 到直线(通过点 p1 和 p2)的最短距离。 dpp(p,p1,p2,p3) 确定点 p 到平面(由三点 p1、p2、p3 定义)的距离。 dist(p1,p2) 确定点 p1 和 p2 之间的距离。此函数相当于矢量表达式 abs(p1-p2)。 下例返回两个选定对象的中心之间距离的一半: dist(cen,cen)/2 下例确定了点 3,2,4 与由三个选定端点定义的平面之间的距离: dpp(3,2,4,end, end, end) 获取半径rad 函数可以确定选定对象的半径。 rad 确定选定对象的半径。对象可以是圆、圆弧或二维多段线的弧线段。 下例与 CIRCLE 命令一起使用 rad 函数。新圆半径是选定多段线圆弧段半径的三分之二: 命令:circle 指定圆的圆心或 三点(3P)/两点(2P)/相切、相切、半径(T):cen 选择该圆 指定圆的半径或 直径(D) :cal 表达式:2/3*rad 给函数 RAD 选择圆、圆弧或多段线:选择该圆 获取角度ang 函数可以确定两条直线之间的夹角。角度按逆时针方向测量,二维情况下相对于 X 轴,三维情况下相对于用户指定的轴。 ang(v) 确定 X 轴和矢量 v 之间的角度。矢量 v 被认为是二维的,且投影在当前 UCS 的 XY 平面上。 ang(p1,p2) 确定 X 轴和直线(通过 p1、p2,方向为从 p1 到 p2)的夹角。该点被认为是二维的,且投影在当前 UCS 的 XY 平面上。 ang(apex,p1,p2) 确定直线 (apex,p1) 和 (apex,p2) 的夹角。该点被认为是二维的,且投影在当前 UCS 的 XY 平面上。 ang(apex,p1,p2,p) 确定直线 (apex,p1) 和 (apex,p2) 的夹角。直线被认为是三维的。最后一个参数(点 p)用来定义角度的方向。此角度以顶点到点 p 的直线为轴按逆时针方向测量。 下图示意了如何测量角度。 可以用 ang 函数确定三角形两边之间的夹角,如下例所示: 命令:cal 表达式:ang(end,end,end) 选定角的顶点,然后选择另外两个端点。 计算法向矢量nor 函数用于计算单位法向矢量(即与直线或平面垂直的矢量),而不是某个点。矢量定义法线的方向而不是空间中的位置。可将法向矢量加到一个点上以获得另一个点。 nor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论