AutoCAD-AutoLISP基本函数(课件PPT)
- 格式:ppt
- 大小:408.00 KB
- 文档页数:66
AutoCADLISP基本知识及函数1.lisp数据类型INT 整型REAL 实数型(最多有6位小数)STR 字符串型2.预定义符号nil 尚无定义或者falseT 常量PAUSE 暂停PI 常量π3.赋值函数(setq x 1.5 y 20 p "center");给x、y、p赋值,返回值center。
4.查询变量的值和数据类型command:!a或者直接输入a;返回a的值command:(type a)或者直接输入(type a);返回a的数据类型5.quote函数(quote(10 20 ...))(quote(10 20))或者'(10 20);表示禁止对表求值,返回(10 20) 定义二维点(setq p '(10 20))6.定义函数(defun 函数名(变元.../局部变量...) 表达式... )7.调用函数(函数名变量)8.调用CAD命令(command "autocad命令" "所需数据" ...)如绘制圆心(2,4),半径为5的圆(command "circle" "2,4" 5)或者(command "circle" '(2 4) 5)9.画矩形(defun c:rect1(/ p1 p2 p3 p4)(setq p1 (getpoint "\n输入矩形的一个角点"))(setq p3 (getcorner p1 "\n输入矩形的另一个角点:"))(setq p2 (list(car p3) (cadr p1)))(setq p4 (list(car p1) (cadr p3)))(command "pline" p1 p2 p3 p4 "c"))10.cond函数多条件判断(cond(测试表达式1 结果表达式1)(测试表达式2 结果表达式2) ...);从第一个子表起,测试每个子表的测试表达式直至有一个子表测试表达式成立,计算该子表的结果表达式并返回这个结果表达式的值。
第5章 AutoLISP基本函数函数是AutoLISP语言处理数据的基本工具,学习AutoLISP编程最主要的是要掌握AutoLISP语言系统内部函数和符号的基本用法。
如:函数的调用格式,即函数名、参数的个数及类型;函数的功能、求值情况及返回值类型等。
AutoLISP基本函数主要包括:数值函数、赋值与求值函数、表处理函数、字符串处理函数、逻辑运算函数和控制结构函数等。
5.1 数值函数数值函数用于处理整型数和实型数,数值函数包括:基本算术函数、三角函数、数据类型转换函数。
数值函数的返回值类型取决于参数表中参数的数据类型。
AutoLISP中数值计算要遵循整实原则,具体运算规则为:A.整整得整;B.实实得实;C.整实得实。
例:command: (/ 18 4 2) 返回: 2command: (* 4.5 2.0) 返回:9.0command: (+ 6 4.2) 返回:10.25.1.1 基本算数函数这类函数包括:+、-、*、/、1-、1+、abs、sqrt、min、max、expt、exp、log、gcd、rem 1) (+ 〈数〉〈数〉… )功能: 求表中所有整数或实数的和。
例如:Command:(+ 1.2 3.1 3.8)返回:8.12) (- 〈数〉〈数〉… )功能: 求表中第 1 个数减去后面所有数的差, 当表中只有一个数时, 返回这个数的相反数。
例如:Command:(- 8. 1 5)返回:3.1Command:(- 0.25)返回:-0.253) ( *〈数〉〈数〉… )功能: 求表中所有数的积, 例如:Command:( * 0.0174533 30)返回:0.5235994) (/ 〈数〉〈数〉… )功能: 求表中第1 个数除以后面所有数的商。
例如:cmnmand:(/ 10 5 2.0)返回:1.05) (1+ 〈数〉)功能: 求一个整数或实数加 1 的和。
例如:Command:(1+ 2.7)返回:3.76) (1- 〈数〉)功能: 求一个整数或实数减 1 的差。
第八讲:AutoLISP的基本函数AutoLISP程序可看作是一个一个函数的调用。
函数的调用格式:(函数名[<参数1>] [<参数2>] ⋯[<参数n>])2.1 赋值函数与求值函数1 赋值函数格式:(setq <sym1> <expr1> [<sym2> <expr2>] ⋯)依次将每个表达式<expr>的值赋给符号<sym>,要求参数必须成对出现,返回最后一个表达式的值。
例如:command: (setq a 5.0)5.0000command: !a5.0000command : (setq x12 2.5 y12 (+ x12 2.0))4.5000相当于(setq x12 2.5)(setq y12 (+ x12 2.0))2 禁止求值函数格式:(quote <expr>)阻止求值器对其参数<expr>求值,返回没被求值的表达式。
’(+ 6 5) 简写形式,等效的表达形式是( quote (+ 6 5))作用:可以“保护”一些表达式作为数据使用,而不是作为AutoLISP函数调用被求值。
例如:command : (car ‘(1 2 3)) 等效于(car (list 1 2 3))取表中第一个元素1返回结果2.2 数值函数数的运算遵循以下规则:(1)若参数表中的所有参数都为整型数,则AutoLISP求值器对参数表做整型运算,返回整型数值。
(2)若参数表中有一个实型数,则对表中的参数进行浮点数学运算,返回实型数。
2.2.1 算术运算函数1(+ <number> <number> ⋯)返回所有<number>的和(+ 20 5 13) 返回38(+ -20 5.5)返回-14.5000(+ (setq x 2) (+ x 3.0) 6.5) 返回13.5000注意:多个整数相加时,要防止总和超出范围而出错。