1、定义点信息
(1)普通定义方式
(setq pt' (2.0 3.0 0.0)) ;定义点坐标为(2,3,0),注意此时pt后要加单引号
(setq pt (quote(2.0 3.0 0.0)) ;QUOTE函数和'的含义相同
(2)参数定义方式
如果点坐标为变量参数,则定义方式为
(setq pt' (list x y z))
例如
(setq x 2.0 y 3.0 z 0.0)
(setq pt (list x y)) ;注意此时pt后不能加单引号
结果
pt=(2.0,3.0)
LIST函数:将任意数目的表达式组合成一个表,本函数常用于定义二维或三维点变量(由两个或三个实数组成的表)
类似命令: APPEND函数:将任意多个表组合成一个表
2、点坐标的提取
(1)提取点的X坐标 CAR
(setq x_val (car pt))
(car list) 返回list 中的第一个元素
(2)提取点的Y坐标 CADR
(setq y_val (cadr pt))
(cadr list) 返回list 中的第二个元素
(3)提取点的Z坐标 CADDR
(caddr list) 返回list 中的第三个元素
(4)CAR与CDR
AutoCAD允许CAR与CDR多重嵌套(4层),CAR表示提取第1个值,CDR表示删除第1个值。嵌套过程从后向前,如CDDR表示(cdr(cdr x)),则对x列表删除前两个值。若x=(5 5 8 9),则(cddr x)=(8 9);CADR表示(car(cdrx)),(cadr x)=(8)。
3、测量点的距离
(1)(setq rads (angle pt1 pt2)) ; 两点在当前UCS坐标系下XY平面的角度
(2)(setq len (distance pt1 pt2)) ; 两点的距离
4、ROTS 将数值转换成字符串
(rtos number [mode [precision]]) 根据 mode、precision 参数和系统变量 UNITMODE、DIMZIN、LUNITS 和 LUPREC 的设置,rtos 函数返回代表 number 的字符串。
参数:
number:数值。
mode:整数,指定现行单位模式。mode 的取值对应于 AutoCAD 系统变量 lunits 的允许值,如下所示:
1 科学
2 小数
3 工程(英尺和十进制英寸)
4 建筑(英尺和分数英寸)
5 分数
precision:整数,指定精度。
示例:
(setq x 17.5)
(setq fmtval (rtos x 2 2)) ; 将 x 的值转换为小数格式的字符串,精度为 2
5、ATOF 将一个字符串转换成实数
(atof string)
string:要转化为实数的字符串。
示例:
命令:(atof "97.1")
97.1
命令:(atof "3")
3.0