分享

定位-'Cal计算器

 provence齐 2017-07-19
  命令'CAL,右键菜单选择“快速计算器”或CTRL+8都可以打开计算器。

  使用 CAL 命令,用户可以:

  一.)获取点

  1.使用光标获取点

  用 cur 函数。程序会提示用户指定点并使用当前的 UCS 点的坐标值。cur 函数用于设置系统变量 lastpoint的值。

  2.获取交点

  ille↔ill(p1,p2,p3,p4) 确定两条直线 (p1、p2) 和 (p3、p4) 的交点。所有点都被认为是三维点。

  ilp(p1,p2,p3,p4,p5) 确定直线(通过 p1、p2)和平面(通过三点 p3、p4、p5)的交点。

  3.计算直线上的点

  ①. 在两实体间确定中点表达式(end+end)/2。也可用mtp成m2p,需捕捉中点所在的两个点来确定中点。

  快捷函数mee↔(end,end)/2两端点的中点。

  ②.确定一条直线上的任意等分等距点

  快捷函数pltee(t)↔plt(P1,P2,t)由两端点确定的直线上某一参数化位置的点。(divide定数等分确定多点。)

  参数 t 定义点在直线上的参数化位置。

  如果 t=0,则所求点为 p1

  如果 t=0.5,则所求点是 p1 和 p2 的中点

  如果 t=1,则所求点为 p2

  快捷函数pldee(d)↔pld(P1,P2,dist)由两端点确定的直线上某一距离处的点。(measure定距等分确定多点)

  参数 dist 定义该点到点 p1 的距离。

  4.获取上一个指定点?

  在表达式中使用“@+”字符可获得上一个点的坐标,如下例所示:

  命令: line

  指定第一个点: 'cal

  >> 表达式: cen+[0,1]

  >> 选择图元用于 CEN 捕捉: 选择圆或圆弧

  指定下一点或 [闭合(C)/放弃(U)]: 'cal

  >> 表达式:@ +3*vec1(cen,cen)

  直线的第一点自第一个选定圆的圆心在 Y 轴方向上偏移一个单位。直线的第二点距第一点三个单位。直线的方向是从第一个选定圆的圆心指向第二个选定圆的圆心。

  二.)变量variable

  如果在 CAL 命令中输入的 AutoLISP 变量名称中包含具有特殊含义的字符(例如 +、-、* 或 /),请用单引号 (') 将变量名称括起来,例如:'number-of-holes'

  1.将对象捕捉作为表达式中的变量

  ①.使用相对坐标来确定点

  end+[2,3]作点和点的相加运算,在端点上加一个相对坐标偏移。

  这样的点也可以用跟踪track(tk)的捕捉方式来获取。需确定第一追踪点,相当于上面的end。

  2、给 AutoLISP 变量赋值

  要给 AutoLISP 变量赋值,

  变量名=表达式

  3.在计算中使用系统变量

  语法为:getvar( variable_name )

  下例使用 getvar 获得当前视口中视图的圆心。getvar(viewctr)

  使用这种方法还可以访问用户系统变量 USERI1-5 和 USERR1-5。例如,要检索存储在 USERR2 中的值,可输入以下内容:  getvar(userr2)

  三.)矢量vector

  1.过滤矢量中的 X、Y 和 Z 分量

  xyof(P1) 点的x和y分量;z分量设定为0.0

  xzof(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的分量

  2.计算两点的矢量

  快捷函数vee↔vec(p1,p2)计算从点 p1 到点 p2 的矢量平移。

  快捷函数vee1↔vec1(p1,p2)计算从点 p1 到点 p2 的单位矢量方向。

  L*vec1(P1,P2)确定长度L在从点P1到点P2方向上的矢量。

  a+[5<20]确定从点a以20度角偏移5个单位后得到的点b。注意:[5<20]是以极坐标表示的矢量。

  a+v确定从点a平移矢量v后得到的点b。

  3.计算法向矢量:矢量定义法线的方向而不是空间中的位置。可将法向矢量加到一个点上以获得另一个点。(即与直线或平面垂直的矢量)

  nor

  确定选定的圆、圆弧或多段线圆弧段的三维单位法向矢量。此法向矢量是选定对象的对象坐标系 (OCS) 的 Z 轴。

  nor(v)

  确定矢量 v 的二维单位法向矢量。这两个矢量都被认为是二维的,且投影在当前 UCS 的 XY 平面上。得出的法向矢量的方向指向原矢量 v 的左边。

  快捷函数nee↔nor(P1,P2)

  确定直线 p1,p2 的二维单位(xy平面)法向矢量。该直线的方向为从 p1 指向 p2。得出的法向矢量的方向为指向原直线 (p1、p2) 的左边。

  nor(p1,p2,p3)

  确定平面(由 p1、p2 和 p3 三点定义)的三维单位法向矢量。法向矢量的方向与给定三点的逆时针方向垂直。

  例①过一条斜线上的已知nod点作斜线的垂线,也可用递延垂足作垂线。

  画线命令在斜线上确定垂线的第一个点即nod垂足,确定垂线第二点时输入'cal,输nod+5*nee (5是垂线的长度,根据提示捕捉垂点nod点和直线的两个端点获取垂直方向nee(改变光标捕捉直线端点的顺序,可在直线的另一侧画垂线。)

  例②作和一斜线相切的圆;

  cur+3*nee (cur表示用光标在屏幕上拾取一个点作为圆和直线的切点,nee函数用来计算斜线的两端点矢量的法线,也可以简单理解为方向,(改变光标捕捉斜线端点的顺序,也可在直线的另一侧画圆。)3是圆的半径,输入圆半径长度3则正相切)

  例③.过圆和一直线的交点int作圆的切线

  int+3*nor(cen,int)

  画线命令点交点确定切线第一个点,确定第二个切线点时输入'cal,输入 int+3*nor(cen,int)(nor是计算圆心与交点两个点的法线(垂直)方向。(改变光标捕捉直线端点的顺序,也可在直线的另一侧画切线。)根据提示点交点,圆形,交点即可作出长度为3的切线。

  4.计算矢量的长度

  abs(v)计算矢量 v 的长度,结果为非负实数。在球坐标(距离<角度<角度)中,距离即为矢量长度。下例计算矢量 [1,2,3] 的长度:abs([1,2,3])

  四.)其他

  ⑴设定英尺和英寸的格式:

  英尺'-英寸"、英尺' 英寸" 或英尺'英寸"

  可以用短划线或空格将英尺、英寸和分数部分的英寸隔开,也可以不隔开。

  警告使用英制单位时,CAL 将减号或破折号 (-) 当作单位分隔符而不是减法运算符。要指定减法运算,应在减号前面或后面至少添加一个空格。例如,要从 5' 中减去 9”,输入 5' -9” 而不是 5'-9”。

  ⑵设定角度的格式:

  角度的默认单位是十进制度数。请按以下格式输入角度: d ' ”

  当输入的角度小于 1 度时(只有分和秒),必须输入 0d。可以省略零分和零秒。

  要按弧度输入角度,请在输入的数字后面加上 r。

  要按百分度输入角度,请在输入的数字后面加上 g。

  以下是各种角度输入法的样例:

  5d10'20"

  0d10'20"

  124.6r

  14g

  以任何格式输入的角度都会转换成十进制角度。

  Pi 弧度等于 180 度,100g 等于 90 度。

  ⑶计算距离

  dee↔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(cen,cen)/2

  下例确定了点 [3,2,4] 与由三个选定端点定义的平面之间的距离:

  dpp([3,2,4],end, end, end)

  ⑷获取半径

  快捷函数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 平面上。apex是顶点。

  ang(apex,p1,p2,p)

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

  ⑹绕坐标轴旋转点

  rot 函数绕坐标轴旋转点并返回旋转得到的点。

  rot(p,origin,ang)以经过原点的 Z 轴为轴,旋转点 p,旋转角度为 ang 。

  rot(p,AxP1,AxP2,ang)以经过点 AxP1 和点 AxP2 的直线为轴旋转点 p,转角为 ang轴的方向为从第一个点到第二个点。

  ⑺在 UCS 和 WCS 之间转换点

  通常程序假定所有坐标都是相对于当前 UCS 的。可以使用下列函数在 UCS 和 WCS 之间转换点的坐标值。

  w2u(p1)

  将以 WCS 表示的点 p1 转换到当前 UCS 中。

  u2w(p1)

  将以当前 UCS 表示的点 p1 转换到 WCS 中。

  可使用 w2u 查找用当前的 UCS 表示的 WCS 的原点:w2u([0,0,0])

  ⑻转换测量单位。

  关于可转换的单位列表,请参见 acad.unt 文件(适用于 AutoCAD)或 acadlt.unt 文件(适用于 AutoCAD LT)。

  语法为:cvunit ( value, from_unit, to_unit )

  下例将值 1 从英尺转换为厘米:

  cvunit(1,inch,cm)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多