欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

lisp捕捉垂足_定位-'Cal计算器

发布时间:2023/11/30 编程问答 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 lisp捕捉垂足_定位-'Cal计算器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

命令'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 的长度,结果为非负实数。在球坐标(距离

四.)其他

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

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

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

警告使用英制单位时,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)

总结

以上是生活随笔为你收集整理的lisp捕捉垂足_定位-'Cal计算器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。