第三章AutoLISP基本函数.pptVIP

  • 10
  • 0
  • 约5.9千字
  • 约 20页
  • 2017-07-27 发布于河南
  • 举报
第三章AutoLISP基本函数

第三章AutoLISP的基本函数;Setq函数从左到右给变量赋值 例如:_$ (setq x 2.0 y 4.0 pt (list x y)) _$ (2.0000 4.0000) _$ 3.1.2赋值函数set 将符号名的值设置成一个表达式的值 (set sym expr) set 函数与 setq 类似,但 set 计算两个参数的值,而 setq 只计算第二个参数的值。 _$ (setq d c) C _$ (set d 2) 2 _$ c 2 _$ 注意:使用set函数时,符号的值不为符号出错。;_$ (setq d nil) nil _$ (set d 2) ; 错误: 参数类型错误: symbolp nil _$ 3.1.3禁止求值函数quote 等同于单引号(‘),调用格式为(quote expr),例如 (quote (+ 6 5))等同 ‘(+ 6 5) 注意求值与不求值的区别 例如 $ (setq a (+ 6 5)) (+ 6 5) _$ (setq a (+ 6 5)) 11 _$ 该函数在引用表中经常用到,例如 (setq pt (1.0 1.0 1.0)) ;正确 (setq pt (1.0,1.0,1.0)) ;错误;3.1.4再求值函数eval 求表达式值的值,也就是说求两次值。 (eval epxr) 例如 _$ (setq a (* 5 6)) (* 5 6) _$ (eval a) 30 _$ (setq a b) B _$ (setq b c) C _$ (eval a) C _$ (eval ‘a) ;quote只能阻止一次求值 B _$ (eval 5) ;对数求值结果为其自身 5 _$ (eval “(+ 3 4)”) ;对字符串求值结果为其自身 (+ 3 4) _$ ;例:看两个例子的区别;数学函数 函数 说明 (+ [number number] ...) 返回所有数值的总和 (- [number number] ...) 从第一个数值中减去第二个和后面的数值,返回差值 (* [number number] ...) 返回所有数值的乘积 (/ [number number] ...) 用第一个数值除以后面其他数值的乘积,返回商值 (~ int) 返回参数的按位非(即 1 的补码为0) (1+ number) 返回参数加 1 后的结果 (1- number) 返回参数减 1 后的结果 (abs number) 返回参数的绝对值 (atan num1 [num2]) 返回一个数的反正切值(以弧度为单位) (cos ang) 返回一个以弧度表示角度的余弦值 (exp number) 返回常数 e(实数 2.718282...)的指定次幂的值 (expt base power) 返回一个数的指定次幂的值 (fix number) 截去实数的小数部分,将它转换成整数后返回该整数 (float number) 将一个数转换成实数后返回该实数 (gcd int1 int2) 返回两个整数的最大公约数 (log number) 以实数形式返回一个数的自然对数 (logand [int int ...]) 返回一组整数逻辑按位与 (AND) 的结果 (logior [int int ...]) 返回一组整数逻辑按位或 (OR) 的结果;(lsh [int numbits]) 返回一个整数进行指定位逻辑移位后的结果 (max [number number ...]) 返回给定的数中的最大值 (min [number number ...]) 返回给定的数中的最小值 (minusp number) 检查一个数是否是负数 (rem [num1 num2 ...]) 用第一个数除以第二个数,返回余数 (sin ang) 以实数形式返回一个以弧度表示的角度的正弦值 (sqrt number) 以实数形式返回一个数的平方根 (zerop number) 检查一个数的值是否为 0 ;3.2.1算术运算函数 函数 + — * / _$ (+ 1 2 3) ;含义 1+2+3 6 _$ (- 5 1 2) ;含义 5-1-2 2 _$ (- 5) ;注意:当减法函数只有一个参数时,给数取相反数 -5 _$ (* 2 3 4.0) ;含义 2*3*4.0 24.0 _$ (/ 2 3 2.0) ;含义 2/3/2.0 0.333333 ;注意其它高级

文档评论(0)

1亿VIP精品文档

相关文档