谁能帮忙看下,关于entmake绘制直线的问题
写了段代码下面这样行(defun c:sss()
(entmake '((0 . "LINE")
(62 . 1) ;颜色
(10 100 100) ;起点
(11 200 200) ;终点
(6 . "center")
)
) ;_ 结束entmake
)
但是写成下面这样就不行
(defun c:sss()
(setq p5 (list 100 100))
(entmake '((0 . "LINE")
(62 . 1) ;颜色
(10 p5) ;起点
(11 200 200) ;终点
(6 . "center")
)
) ;_ 结束entmake
)
提示 DXF 组不正确: (10 P5)
不知道是什么原因 这样试试:
(defun c:sss()
(setq p5 (list 100 100))
(entmake (list '(0 . "LINE")
'(62 . 1) ;颜色
(cons 10 p5) ;起点
'(11 200 200) ;终点
'(6 . "center")
)
) ;_ 结束entmake
)
'(...)是表达一个不经处理的表达式,所以,其中包含的变量均不会被替换成“值”,所以,表达式不能符合。
在有变量表和固定的表一起时,要用list进行组合,也就是说,把list提到前面。
式中第二个错误是“(10 p5)”,这样是无法组合的,放一个点也不行,要用cons。
另一个不足之处是200、300这些数值,一般应使用实数,即200.0、300.0,在这里不算错误,但这是习惯,如果不养成好的习惯,以后可能会有意想不到的麻烦,比如除法运算,整数和实数是不同的。 ll_j 发表于 2014-4-13 14:58 static/image/common/back.gif
这样试试:
(defun c:sss()
(setq p5 (list 100 100))
可以了。非常感谢! 感谢 ll_j 解答学习了!
页:
[1]