CADLISP函数

上传人:简****9 文档编号:115738124 上传时间:2019-11-14 格式:DOC 页数:8 大小:117.50KB
返回 下载 相关 举报
CADLISP函数_第1页
第1页 / 共8页
CADLISP函数_第2页
第2页 / 共8页
CADLISP函数_第3页
第3页 / 共8页
CADLISP函数_第4页
第4页 / 共8页
CADLISP函数_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《CADLISP函数》由会员分享,可在线阅读,更多相关《CADLISP函数(8页珍藏版)》请在金锄头文库上搜索。

1、CADLISP语言数据类型1. 表2. 文件描述符3. 实体名4. 选择集5. 内部函数(AutoLISP子程序)6. 外部函数(ADS、ARX函数)代码意义ASII码键114”“键042eESC键033n换行012r回车015t制表键011赋值与数值计算函数1. (1+ 数) 加1函数2. (1- 数) 减1函数3. (abs 数)求绝对值4. (max数 数 )求最大数5. (min数 数 )求最小数6. (sqrt数)求平方根7. (expt数 幂)乘方8. (exp 幂)e的任意次方9. (log数)对数10. (sin 角)正弦函数11. (cos角)余弦12. (atan数1数2)

2、反正切函数13. (rem数1 数2)求余数14. (gcd数 数)最大公约数15. ( 整数)求补 注:用pi表示圆周率16. (logand数 数)按位逻辑”与”函数17. (logior数 数)按位逻辑”或”函数18. ( 数)按位逻辑”非”函数19. (and 表达式)逻辑”与”函数20. (or 表达式)逻辑”或”函数21. (not 表达式)逻辑”非”函数22. (lsh 数 位数)位移函数23. (boole 方式 数1 数2)布尔运算。方式有16种,如1为and,6为xor(异或),7为or,8为not等。24. (= 原子 原子)等于函数25. (/= 原子 原子)不等于函数

3、26. ( 原子 原子)小于函数27. ( 原子 原子)大于函数29. (= 原子 原子)大于等于函数30. (atom 项)原子测试31. (listp 项)表测试32. (boundp 原子)原子值测试33. (null 项)空测试34. (numberp 项)数值测试35. (minusp 项)负值测试36. (zerop 项)零测试37. (eq 式1 式2)相同表达式测试38. (equal式1 式2)相等测试39. (wcmatch 字符串 模式)字符匹配测试分支与循环1. (if 条件 式1式2)若条件为真,则执行式1;否则执行式2。2. (cond(条件1 式1)(条件2 式2

4、)分支函数。如:(cond(minusp a)(- a)(T a))求a的绝对值。注:cond是AutoLISP中最基本的条件函数,由它为核心构成的自定义函数可以实现循环和递归等功能。3. (repeat 次数 式1 式2 )重复函数。将多个表达式重复执行多次。4. (while 条件 式1 式2 )循环函数。条件为真,执行表达式。否则结束循环。如:(setq s 0 a 1)(while( a 101)(setq s(+ s a)(setq a(1+ a))(print s) 计算0100之间所有整数的和。5. (progn 式1 式2 )求多个表达式值函数。在只能用一个表达式的地方,使用他

5、可完成多个表达式的计算。如if 语句中字符串与类型转换函数1. (ascii 字符串)ASCII码转换2. (chr 整数)字符转换3. (strcat 字符串)字符串连接4. (strlen 字符串)字符串长度测试5. (substr 字符串 起点 长度)取子字符串。如果不设置长度,则取到最后一个字符。6. (strcase 字符串 方式)字符串大小写转换。若指定了方式且非空(NIL),则把所有的字母转换为小写;否则转换为大写。7. (float 数)整型变实型8. (fix 数)实型变整型9. (itoa 整型数)整型变字符串10. (atoi 字符串)字符串变整型11. (atof 字符

6、串)字符串变实型12. (angtos 角 方式 精度)角度单位转换。“角”是以弧度为单位的实数,转换为其它单位,返回一个字符串。该字符串是以“方式”和“精度”的要求,按AutoCAD的系统变量UNITMODE(单位模式)对“角”进行处理得到的,“精度”为小数点后的位数。“方式”有:0为度,1为度/分/秒,2为梯度,3为弧度等。13. (rtos 数 方式 精度)实数计数制转换。方式:1为科学计数法,2为十进制,3为工程制(英寸与小数英寸),4为建筑制(英寸与分数英寸)14. (cvunit 值 旧单位 新单位)单位制转换。单位名称可以是acad.unt文件中给出的任意单位格式,否则返回NIL

7、(trans 点 旧坐标系 新坐标系)坐标转换。坐标:0为WCS(世界坐标系),1为UCS(用户坐标系),2为DCS(显示坐标系)表处理函数1. (quote 表达式)引用函数。作用:告诉程序不要对后面的表达式求值。如:(quote(x y z)可简写为 (x y z)2. (car 表)取表中的第一个元素3. (cdr 表)取子表函数。返回除第一个元素以外的所有元素组成的新表4. 由car与cdr组合而成的函数car与cdr是取表元素的基本函数。这两个函数可以组合起来使用,从而获得表中的其它元素,例如 cadr。这种组合最多可达四级,即最多六个字符,如 caddar。AutoLISP执行这组

8、合函数时先从后面做起。例如:(caddr (1 2 3)) 返回3 (caddr (a (b c) d)) 返回(c)也就是说,若L为一张表,则有:(cadr L)=(car(cdr L))(cdadar L)=(cdr(car(cdr(car L)5. (last 表)取表中最后一个元素6. (nth n 表)取表中第n个元素(第一个元素的序号为0)7. (list 表达式)建立表函数8. (length 表)测量表长9. (append 表1 表2 )连接表函数10. (cons 新元素 表)向表中添加元素11. (subst 新项 旧项 表)元素替换函数12. (reverse 表)表倒

9、置函数13. (assoc 关键字 关联表)assoc 函数。该函数在“关联表”中搜索“关键字”,并返回关联表中对应元素。搜索无结果,则返回NIL14. (member 表达式 表)member函数。该函数在“表”中搜索“表达式”,并返回一张由第一次出现的“表达式”及其后面所有元素构成的新表。15. (foreach 变量名 表 表达式)foreach函数。该函数依次将“表”中的每个元素的值赋给“变量名”对表中的每个元素计算每个表达式的值。函数返回最后一个表达式的计算结果。16. (apply 函数 表)Apply函数。以表为变元,执行“函数”给定的函数。如:(apply +(1 2 3))

10、返回 6(apply strcat(“a” “b”)) 返回“ab”Apply既可用于内部函数,也可用于用户定义的函数。17. (mapcar 函数 表1 表2)mapcar 函数。它执行“函数”给定的函数,并以后面各表中的每个元素作为函数的变元。如:(mapcar 1+(10 20 30))返回(11 21 31)(mapcar +(10 20 30)(4 3 2))返回(14 23 32) Apply函数的操作对象是单个表中的所有元素;mapcar函数则每次只处理多个表中的对应元素,依次处理,直到结束。自定义函数1. defun函数格式:(defun 函数名 变量表 表达式)其中变量表被一

11、个前后均有空格的斜杠符号“ / ”分成两部分(形参 / 局部变量):形参在调用函数时接受参数传递而转换为实参;局部变量仅用于函数内部1)变量表可以是空格,此时调用函数时无参数传递。2)变量表中的形参与局部变量均只在所定义的函数中起作用,甚至可以与某外部变量同名,而不会对外部变量造成任何影响2. defun函数定义AutoCAD新命令格式:(defun C:命令名() 表达式)其中:“命令名”前必须有“C:”,后面必须带一张没有形参的变元表。3. lambda函数格式:(lambda 变元表 表达式)该函数定义一个无名函数。在经常需要使用某一表达式,而又没必要用defun将它定义为一个新函数时,

12、可使用lambda来完成这个任务。它返回最后一个表达式的值,且经常与apply和mapcar一起使用。如:(apply (lambda (x y z )(* x(- y z)(5 20 14)返回30,即5*(20-14)。又如:(mapcar (lambda (x)(* x 5)(2 4 -6 10.2))返回(10 20 -30 51.0)数据交换及相关的计算函数1. (getint 提示) 整数输入函数2. (getreal 提示) 实数输入函数3. (getstring cr 提示) 字符串数输入函数。字符串最大长度为132个字符。如果提供了cr且cr不为NIL,则输入的字符串中可以有

13、空格,此时只有用回车来终止输入,否则可以用空格终止输入。4. (getpoint 基点 提示) 点输入函数5. (getdist 基点 提示) 距离输入函数。等待用户输入一个距离值或用光标输入两个点,返回两点间的距离。若有基点,则只需再输入一个点,该点与基点间的距离就是输入的值。6. (getcorner 基点 提示) 矩形对角点输入函数。他必须有基点,且当用户移动光标时,屏幕上画一个由基点和当前光标点为对角点的矩形。7. (getangle 基点 提示) 角度输入函数。等待用户输入一个角度,并将该角以弧度值返回。度量角度时,以变量ANGBASE设置的当前角度为零弧度,逆时针方向为正。用户可以

14、键盘输入角度。也可以指定屏幕上两个点的方式输入角度,此时两点间连线与零度基准线的夹角就是输入的角度。若指定了“基点”,则可输入一个点来获取角度。后两种方式屏幕上会出现拖动线。8. (getorient 基点 提示) 方位角输入函数。和getangle唯一不同的是getorient的零度基准方向是水平向右的9. (initget 位值 关键字符串)输入控制函数。该函数为其后使用get函数建立各种选项。“位值”控制允许的输入方式可以是以任何组合方式累加成的一个0127之间的整数。其含义见表:位值含义1不允许空输入2不接受零值4不接受负值8不检查屏幕限定范围(即使LIMCHECK为on)16目前未使用32用虚线画拖动线和矩形框64忽略三维点的Z坐标(仅用于getdist)关键字表的目的是使用户可以以缩写的方式输入关键字。关键字的形式必须是“关键字1 关键字2 关键字3,缩写”。每个关键字间用空格分隔,逗号后面是缩写部分。有两种方式定义关键字的缩写:一是把保留的缩写字母大写,其余部分全用小写字母;二是缩写字母放在整个关键字后面(全部用大写字母表示缩写),并用逗号将它们分隔开。注意:iniget建立的控制标记和关键字表只对紧跟其后的get函数产生作用,然后被自动清除。此外,iniget函数不用于getstring和getvar函数。10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号