>>您现在的位置: CAD高手网 >> 技术文章 >> 二次开发 >> 正文
利用CAL表达式配合捕捉设置精确定位
利用CAL表达式配合捕捉设置精确定位
作者:王汉洲    文章来源:本站原创    点击数:    更新时间:2008-7-20    加入收藏

  给大家介绍一种利用CAL表达式配合捕捉设置精确定位的方法,几何计算器是AutoCAD提供的一个十分有用的工具。和普通的计算器一样,几何计算器可以完成加、减、乘、除的运算以及三角函数的运算,这使得用户在使用AutoCAD绘图过程中,可以在不中断命令的情况下进行算术运算,计算的结果可直接作为命令的参数使用。和一般计算器不同的是,AutoCAD几何计算器还可以做几何运算。它既可直接对各坐标点的坐标值进行运算,也可以使用AutoCAD的Osnap模式捕捉屏幕上的坐标点来参与运算,还可以自动计算几何坐标点。当然,AutoCAD几何计算器还有其它的功能,这里且不作讨论。

  在使用AutoCAD绘图中,常常需要确定一些无法直接给出坐标的点。例如,任意两点间的中点,直线上任意分点等。这就是CAD绘图的定位问题。实际上,在许多计算机绘图场合,定位是否方便和精确往往直接影响作图的效率和速度。因此,应该充分利用AutoCAD几何计算器的几何运算功能,来实现 AutoCAD绘图中的快速定位。

  在命令提示Command:下键入CAL,即可启动AutoCAD几何计算器。CAL也是一个透明命令,可以在其它的命令下随时启动几何计算器。此外,还可以在AutoLISP程序中使用CAL命令。

  下面是利用AutoCAD几何计算器的几何运算功能实现在AutoCAD绘图中,经常遇到的几个快速定位的实例。

  1.用相对坐标来确定点

  在绘图中,经常要根据某一实体的位置画出另一实体。如画一直线,该直线的起点为另一直线的端点,位移(3,4)后的点,操作过程如下:

  Command: Line;

  From Point: 'Cal(启动几何计算器);

  >>Expression: End+[3,4](输入表达式,这里计算器把Osnap的End模式作为表达式参数来参与运算,作点和点的相加运算);

  >>Select Entity For END Snap:(捕捉端点);

  To Point:……。

  其它的目标捕捉模式,如Int、Cen、Ins 、Tan等等均可在几何计算表达式中使用。如果将Cur作为表达式参数,则可以在计算机要求输入点时,再设定Osnap方式来捕捉所需的点。

  2.确定数个点间的中心点

  将各点坐标相加再除以点的个数,商即为它们的中心点坐标。操作过程如下:

  Command: Line;

  From Point: 'Cal;

  >>Expression: (Int+ Int+ Int)/3 (输入表达式,这里求三个点间的中心点);

  >>Select Entity For Int Snap:(捕捉交点);

  >>Select Entity For Int Snap:(捕捉交点);

  >>Select Entity For Int Snap:(捕捉交点);

  To Point:……。

  如果点的个数为2,则上述操作过程所得结果为两点间的中点。

  3.确定一条直线上的任意分点和与直线端点定长的点

  使用几何计算器提供的Plt和Pld函数可以完成这个操作。函数格式如下:

  Plt(p1,p2,t)(求出p1p2直线上的分点。t=0时,该点为p1;t=0.5时,该点为p1p2的中点; t=1时该点为p2);

  Pld(p1,p2,dist)(求出p1p2直线上距离p1点长度为dist的点)。

  假设我们需要画一条直线,起点为直线ab上分线段ab为1:2的点,终点为直线cd上距离c点长度为5的点。操作过程如下:

  Command: Line;

  From Point: 'Cal;

  >> Expression: Plt(End,End,1/3);

  >> Select Entity For End Snap:(捕捉端点a);

  >> Select Entity For End Snap:(捕捉端点b后即得到距a点为1/3线段长的点);

  To Point: 'Cal;

  >> Expression: Pld(End,End,5);

  >> Select Entity For End Snap:(捕捉端点c);

  >> Select Entity For End Snap:(捕捉端点d后即得到距c点长度为5的点);

  To Point:……。

  参数t和dist可以为负数,这里不加赘述。

  4.作与一斜线相切的圆以及过圆上一点作圆的切线

  (1)利用AutoCAD正交模式可容易地画出和垂直线或水平线相切的圆。画一个和斜线相切的圆则需要准确地确定圆心。操作过程如下:

  Command: Circle;

  3P/2P/TTR/

: 'Cal;

  >> Expression: Nea+3*Nee(Nea表示在直线上捕捉一个点作为圆和直线的切点,Nee函数用来计算两端点矢量的法线,3是圆的半径);

  >> Select Entity For NEA Snap: (在直线上捕捉一个点作为圆和直线的切点);

  >> Select One Endpoint For NEE:(捕捉直线的一个端点);

  >> Select Another Endpoint For NEE:(捕捉直线上的另一个端点);

  Diameter/: 3(给出圆的半径后即可画出这个圆)。

  改变光标捕捉直线两个端点的顺序,则可在直线的另一侧画圆。

  (2)假设过圆和一直线的交点作圆的切线,操作过程如下:

  Command: Line;

  From Point: Int(捕捉交点);

  Of

  To Point: 'Cal;

  >> Expression: Int+3*Nor(Cen,Int);

  >> Select Entity For INT Snap:(捕捉交点);

  >> Select Entity For CEN Snap:(捕捉圆心);

  >> Select Entity For INT Snap:(再次捕捉交点即画出从交点出发长度为3的已知圆的切线);

  To Point:……。

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    点击申请点击申请点击申请点击申请点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请点击申请点击申请

    Copyright©CADGS 2008-2008 版权所有 All Rights Reserved