ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:67.03KB ,
资源ID:8671588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8671588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AUTOLISP函数参考.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AUTOLISP函数参考.docx

1、AUTOLISP函数参考AUTO LISP函数参考1(10版本) 以下为十年前纯手工录入的函数参考手册,以分享给爱好LISP这方面的朋友参考!AutoLISP提供了大量的预定义函数。若将函数名(大小写都可)作为表中的第一个元素函数变元(若有的话)作为表中后面的元素,就可以调用那个函数。本章按字母顺序列出AutoLISP所有基本函数。用户会发现其中许多函数都是标准函数,可在LISP程序设计语言中找到。还有一些函数是由 AutoCAD提供的且专用于交互图形环境。1 FLATLAND 系统变量与老版本的兼容性 AutoLISP版本10支持AutoCAD的最新增强型三维图形功能,则时继续保证与Auto

2、CAD老版本的兼容性。FLATLAND系统变量就是用来控制该兼容性的。当FLATLAND为零时,实现新三维功能;否则各函数操作与AutoLISP版本9的一样。FLATLANDR的设置作用于下列AutoLISP函数: DISTANCE GRREAD POLAR ENTGET INITGET TBLNEXT GETDIST INTERS TBLSEARCH GETPOINT OSNAP在各函数说明中,已注明FLATLAND对上述函数起作用的方式。2 ( + .) 这个函数返回所有的总和。其中的可以是整型或实型的。如果所有的都是整数,其结果也是整数;如果其中有一个是实型的,那么其它整型数将转换为实型

3、数结果将是实型数。例如: (+ 1 2) returns 3 (+ 1 2 3 4.5) returns 10.5 (+ 1 2 3 4.0) returns 10.03 ( - .) 这个函数把第一个减去第二个,返回它们的差。如果给定的多于两个,那么将第一个减去其后所有数之和,并返回最后的结果。如果只给了一个,即返回零减这个的结果。此函数中的可以是实型或整型,按标准规则进行类型转换。例如: (- 50 40) returns 10 (- 50 40.0 2) returns 8.0 (- 50 40.0 2.5) returns 7.5 (- 8) returns -84 (* .) 这个函

4、数返回所有的乘积.其中可以是实型或整型.按标准规则进行类型转换例如: (* 2 3) returns 6 (* 2 3 4.0) returns 24.0 (* 3 -4.5) returns -13.55 (/ .) 这个函数将第一个除以第二个,返回其商.如果给出的多于两个,则把第一个除以其它所有的乘积,并返回最后的商.此函数中的可以是实型或整型,类型的转换按标准规则进行.例如: (/ 100 2) returns 50 (/ 100 2.0) returns 50.0 (/ 100 20.0 2) returns 2.5 (/ 135 360) returns 0 (/ 135 360.0

5、) returns 0.3756 (= .) 这是等于关系函数.如果所有指定的在数值上是相等的,则返回T;否则返回空(nil).这个函数适用于数和字符串.例如: (= 4 4.0) returns T (= 20 388) returns nil (= 2.4 2.4 2.4) returns T (= 499 499 500) returns nil (= me me) returns T (= me you) returns nil7 (/= .) 这是一个不等于关系函数.如果数值上不等于,则返回T;否则返回nil.如果提供的多于两个,则函数无定义.例如: (/= 10 20) retur

6、ns T (/= you you) returns nil (/= 5.43 5.44) returns T8 ( .) 这是一个小于关系函数.如果第一个值小于第二个,则返回T;否则返回nil.如果所给的多于两个,那么当每个都小于其右边的时,则返回T.例如: ( 10 20) returns T ( b c) returns T ( 357 33.2) returns nil ( 2 3 88) returns T ( 2 3 4 4) returns nil9 (= .) 这是一个小于或等于关系函数.如果第一个值大于或等于第二个原子,则返回T;否则返回nil.如果所给的多于两个,则当每一个都

7、小于或等于其右边的时,才返回T.例如: (= 10 20) returns T (= b b) returns T (= 357 33.2) returns nil (= 2 9 9) returns T ( .) 这是一个大于关系函数.如果第一个值大于第二个,则返回T;否则返回nil.若所给定的多于两个,当每个都大于其右边的时,则返回T. 例如: ( 120 17) returns T ( c b) returns T ( 3.5 1792) returns nil ( 77 4 2) returns T ( 77 4 4) returns nil11 (= .) 这是一个大于或等于关系函数

8、.如果第一个值大于或等于第二个,则返回T;否则返回nil.如果给出的多于两个,当每一个都大于或等于其右边的时才返回T. 例如: (= 120 17) returns T (= c c) returns T (= 3.5 1792) returns nil (= 77 4 4) returns T (= 77 4 9) returns nil12 ( ) 这个函数返回的按位非(NOT),即补码.必须为整数.例如: ( 3) returns -4 ( 100) returns -101 ( -4) returns 313 (1+ ) 这个函数返回加1(增量)的结果. 可以是实数或整数. 例如: (

9、1+ 5) returns 6 (1+ -17.5) returns -16.514 (1- ) 这个函数返回加1(增量)的结果. 可以是实型或整型数. 例如: (1- 5) returns 4 (1- -17.5) returns -18.515 (abs ) 这个函数返回的绝对值. 可以是实型数或整型的. 例如: (abs 100) returns 100 (abs -100) returns 100 (abs -99.25) returns 99.2516 (and .) 这个函数返回所列出的表达式的逻辑与(AND). 如果其中任何一个表达式的结果等于nil,则停止求值并返回;否则返回T

10、. 例如,对于下面给定的赋值: (setq a 103) (setq b nil) (setq c string)那么 (and 1.4 a c) returns T (and 1.4 a b c) returns nil17 (angle ) 这个函数返回从UCS坐标系统点到UCS坐标系统的一直线的角度,该角度从当前作图平面的X轴开始反时针方向计算(以弧度为单位). 如果提供了三维点,则将其投影至当前作图平面. 例如: (angle (1.0 1.0) (1.0 4.0) return 1.5708 (angle (5.0 1.33) (2.4 1.33) return 3.1415918

11、(angtos ) 这个函数处理(实型数,单位为弧度),返回一个对应于的字符串.该字符串是根据所设置的、及AutoCAD DIMZIN变量,对编辑后所得. 其中变元是一个整型数,它指示完成什么类型的编辑,如下所示: ANGTOS方式 编辑格式 - 0 度 1 度/分/秒 2 梯度 3 弧度 4 测地单位其中变元是一个整型数,它选择所需要的十进制精度的小数位数. 和与AutoCAD系统变量AUNITS和AUPREC相对应,如果没有指明和,则使用AUNITS和AUPREC的当前值. 例如,已知DIMZIN=0和下面的赋值: (setq pt1 (5.0 1.33) (setq pt2 (2.4 1

12、.33) (setq a (angle pt1 pt2)那么, (angtos a 0 0) returns 180 (angtos a 0 4) returns 180.0000 (angtos a 1 4) returns 180d00 (angtos a 3 4) returns 3.1416r (angtos a 4 2) returns W ANGTOS可接受一负变元,但总是先将其化为相当的正值(在0 2弧度间),然后再执行指定的变换. 例如: (angtos 0.785398 0 4) returns 45.0000 (angtos -0.785398 0 4) returns 3

13、15.000019 (append .) 这个函数将所有的表( )放置在一起,作为一个表. 例如: (append (a b) (c d) returns (a b c d) (append (a)(b) (c)(d) returns (a)(b)(c)(d) APPEND需要的变元必须是表.20 (apply ) 它执行由给定的函数,指定了函数的变元. 例如: (apply + (1 2 3) return 6 (apply strcat (a b c) return abc APPLY既可用于内部函数(子程序),也可用于用户定义的函数(即那些用DEFUN或者 LAMBDA产生的函数).21

14、 (ascii ) 这个函数返回中第一个字符的ASCII字符码(整数).它和BASIC语言中的ASC函数相似. 例如: (ascii A) return 65 (ascii a) return 97 (ascii BIG) return 6622 (assoc ) 这个函数在以作为关键字进行搜索,返回中对应元素的值.如果在关联表中找不到作为关键字的,ASSOC返回nil. 例如,假设表al定义为: ( name box) (width 3) (size 4.7263) (depth 5) )那么, (assoc size a1) returns (size 4.7263) (assoc wei

15、ght a1) returns nil关联表常用于储存数据,这些数据可通过关键字存取.它和程序设计语言的数组或结构相似.本章后面描述的SUBST函数提供了一种方便的方法可把关联表中与关键字关联的值进行替换.23 (atan ) 如果没有给出,ATAN将返回的反正切值,其单位为弧度.可以为负值;返回的角度的范围为:-pi 到 +pi弧度. 例如: (atan 0.5) returns 0.463648 (atan 1.0) returns 0.785398 (atan -1.0) returns -0.785398 (angtos (atan -1.0) 0 4) returns 315.000

16、0如果给出和,则返回/的反正切值,其单位为弧度.如果为零,即返回的角度值为1.570796弧度(90度或-90度),这取决于是正数还是负数.例如: (atan 2.0 3.0) returns 0.588003 (angtos (atan 2.0 3.0) 0 4) returns 33.6901 (atan 2.0 -3.0) returns 2.55359 (angtos (atan 2.0 -3.0) 0 4) returns 146.3099 (atan -2.0 3.0) returns -0.588003 (atan -2.0 -3.0) returns -2.55359 (ata

17、n 1.0 0.0) returns 1.5708 (angtos (atan 1.0 0.0) 0 4) returns 90.0000 (atan -0.5 0.0) returns -1.5708 (angtos (atan -0.5 0.0) 0 2) returns 270.0024 (atof ) 这个函数将字符串换为实型数. 并返回此值. 例如: (atof 97.1) returns 97.1 (atof 3) returns 3.025 (atoi ) 这个函数将字符串转换为整数,并返回此值. 例如: (atoi 97) returns 97 (atoi 3) returns

18、 3 (atoi 3.9) returns 326 (atom ) 如果是一个表,此函数返回nil;否则返回T. 任何不是表的东西都被认为是一个原子(atom). 例如,对于以下的赋值: (setq a (x y z) (setq b a)那么, (atom a) returns T (atom a) returns nil (atom b) returns T (atom b) returns T (atom (a b c) returns nil有些LISP对ATOM的解释有差异,因此在使用互相移植的程序时要加以注意.27 (Boole ) 这是一个通用的位方式boolean函数.其中是一

19、个0到15之间的整数,它表示16种可能的双变量Boolean函数中的一种.后面的整型变元根据这个函数和下列的真值表进行方式(即逻辑)组合: 位 - 0 0 8 0 1 4 1 0 2 1 1 1的每一位和的相应位配对,选择真值表中的一水平行.其结果位是0或1,将取决于对应真值表中这一行中位的设置情况.如果中位的设置适当,结果位就为1,否则结果位为0. 的一些值等效于标准的Boolean操作:AND, OR , XOR和NOT,如下所示: func 操作 结果位为1时的条件 - 1 AND 两个输入位都为1 6 XOR 只有其中一个输入位为1 7 OR 有一个或两个输入位为1 8 NOT 两个输

20、入位都为0(即补码)例如: (Boole 1 12 5) 指定了数12和5的逻辑与(AND).其结果为4.同样: (Boole 6 6 5) 指定了数6和5的逻辑异或(XOR),返回结果为3 可以使用的其他值来完成其它的Boolean操作,这些操作可能没有标准名称.例如,如果为4,那么当中的位是1而中的相应位是零时,其结果位才为1. 因此: (Boole 4 3 14)将返回结果12.28 (boundp ) 如果有一个值约束它(不管值的范围),那么此函数返回T;若没有值约束(或受nil约束),则返回nil. 例如,对于下列赋值: (setq a 2) (setq b nil)那么: (bou

21、ndp a) returns T (boundp b) returns nil29 caar, cadr, cddr, cadar等等 AutoLISP支持CAR和CDR的连接,其深度可达四级. 例如,已知赋值: (setq x (a b) c d)那么: (caar x) is equivalent to (car (car x) returning a (cdar x) is equivalent to (cdr (car x) returning (b) (cadar x) is equivalent to (car (cdr (car x) returning b (cadr x) i

22、s equivalent to (car (cdr x) returning c (cddr x) is equivalent to (cdr (cdr x) returning (d) (caddr x) is equivalent to (car (cdr (cdr x) returning d 在AutoLISP中常使用CADR来取得二维点或三维点的Y坐标(即由两个或三个实数组成的表中第二个元素). 同样,使用CADDR可取得三维点的Z坐标. 例如,已知赋值: (setq pt2 (5.25 1.0) (a 2D point) (setq pt3 (5.25 1.0 3.0) (a 3D point)那么: (car pt2) returns 5.25 (cadr pt2) returns 1.0 (caddr pt2) returns nil (car pt3) returns 5.25 (cadr pt3) returns 1.0 (ca

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1