autolisp显示无法重复进入lisp是怎么回事?

我从某ppt复制了一段程序,但是我在加载后,在cad命令窗口输入坐标点后显示“无法重复进入lisp,点无效”这是怎么回事?
(setq p1 (getpoint "\n第一个点:"))
(setq p3 (getcorner "\n第二个点:"))
(setq p2 (list (car p3) (card p1)))
(setq p4 (list (car p1) (card p3)))
(command "pline" p1 p2 p3 p4 "c")

第1个回答  2014-08-04
card 函数拼写错误,猜测作者想用的是cadr
第2个回答  2014-08-04
前面一个朋友指出有一个函数写错了,但问者给出的出错信息似乎还未执行到该段程序,怀疑问者输入点的方式有问题。追问

我试了一下其他明显错误的输入方式,程序给出的反应与我认为正确的输入方式即(0,0)不同

追答

输入(0,0)是错误的,应该输入0,0,或用鼠标输入点,也可以用目标捕捉方式输入点。

追问

那样输入后控制台说需要基点

追答

源程序有误,改正如下:
(defun c:try ()
(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")
)
使用程序时先加载程序,然后键入try即可。

本回答被提问者和网友采纳
第3个回答  2014-08-04
可能是电脑出错了
相似回答