shuangyihu 发表于 2015-10-18 21:41:18

AUtoCAD2004和AUtoCAD2012中AUtolisp有什么不同

今天学AUtolisp,在看吴永进AutoLISP&DCL基础篇(AutoCAD程序设计魔法书)时,发现用AUtoCAD2004可以正常运行,但是用AUtoCAD2012就不能正常运行,比如其中的pbox程序。

(defun c:pbox(/ pa pb pc pd ww hh mp1 mp2 mp3 pm4)
(setvar "cmdecho"0)
(setvar "blipmode"0)
;;;以下pa ww hh值由用户输入
(setq pa (getpoint "左下角点:"))
(setq ww (getdist pa "\n宽度:"))
(setq hh (getdist pa "\n高度:"))
;;;以下pb,pc,pd值须由程序依据pa,ww,hh计算得出
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
;;;以下依据pa,pb,pc,pd点画出矩形
(command "pline" pa pb pc pd "c")
;;;以下mp1,mp2,mp3,mp4值须由程序依据pa,ww,hh pb,pc,pd计算出来
(setq mp1 (polar pa 0 (/ ww 2.0)))
(setq mp2 (polar pb (/ pi 2.0)(/ hh 2.0)))
(setq mp3 (polar pd0 (/ ww 2.0)))
(setq mp4 (polar pa (/ pi 2.0)(/ hh 2.0)))
;;;依据mp1,mp2,mp3,mp4点画出两条线
(command "line" mp1 mp3 "")
(command "line" mp2 mp4 "")
;(command "pline" mp1 mp2 mp3 mp4 "c")
(prin1)
)
(prompt "\n<<C:pbox>>程序设计,作者杨治国")
(prompt "\n这是我第一个正式的LISP程序")
(prin1)

谁能解答?

USER2128 发表于 2015-10-19 08:06:06

没有什么不同,你把捕捉都关闭试试。
页: [1]
查看完整版本: AUtoCAD2004和AUtoCAD2012中AUtolisp有什么不同