level 2
nicol007423
楼主
各位大神,我刚开始学习Autolisp,目前做到下面这个题目,自己编写了一段小程序,但是在CAD中加载后却运行不了,显示已经加载完成,输入命令却没有用!麻烦大神们帮我瞧一下我的程序!烦请指点一下!!非常感谢!

我写的程序如下:
(defun C:drawn
(setq p0 (getpoint“\n确定起点或输入坐标”))
(setq a (getreal “\n输入a段长度:”))
(setq b (getreal “\n输入b段长度:”))
(setq c (getreal “\n输入c段长度”))
(setq d (getreal “\n输入d段长度”))
(setq r (getreal “输入圆角半径r”))
(if (< c (+ d r)) (princ “ok”) (= c (+ d r)))
(setq p1 (polar p0 0 a))
(setq p2 (polar p1 (* pi 1.5) d))
(setq p3 (polar p2 (* pi 1) (- a (+ b r)))
(setq p4 (polar p3 (* pi 1.5) r)
(setq p6 (polar p0 (* pi 1.5) c)
(setq p5 (polar p6 0 b)
(command “line” po p1 p2 p3
(command “arc” “c” p4 “a” p3 (* pi 0.5))
P5 p6 “c”)
(princ)
)
帮我指正一下,哪边指令错误??
2017年06月12日 08点06分
1

我写的程序如下:(defun C:drawn
(setq p0 (getpoint“\n确定起点或输入坐标”))
(setq a (getreal “\n输入a段长度:”))
(setq b (getreal “\n输入b段长度:”))
(setq c (getreal “\n输入c段长度”))
(setq d (getreal “\n输入d段长度”))
(setq r (getreal “输入圆角半径r”))
(if (< c (+ d r)) (princ “ok”) (= c (+ d r)))
(setq p1 (polar p0 0 a))
(setq p2 (polar p1 (* pi 1.5) d))
(setq p3 (polar p2 (* pi 1) (- a (+ b r)))
(setq p4 (polar p3 (* pi 1.5) r)
(setq p6 (polar p0 (* pi 1.5) c)
(setq p5 (polar p6 0 b)
(command “line” po p1 p2 p3
(command “arc” “c” p4 “a” p3 (* pi 0.5))
P5 p6 “c”)
(princ)
)
帮我指正一下,哪边指令错误??