LeoMessi 发表于 2017-9-17 18:51:45

Lisp程序在高版本运行不正确

Lisp初学者,正在学习<Autocad完全应用指南>,书上一个例子,输入一个左下角点和长宽的尺寸,画出一个田字,在2012上运行不能正确绘制,,换到08版本才行,是什么导致的呢??新人求教,谢谢
代码如下
(defun c:pbox()
;以下 pa、ww、hh 值须由用户输入
(setq pa (getpoint "输入左下角点:"))
(setq ww (getdist pa "\n宽度ww:"))
(setq hh (getdist pa "\n高度hh:"))
;以下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)))
(setq mp2 (polar pb (/ pi 2) (/ hh 2)))
(setq mp3 (polar pd 0 (/ ww 2)))
(setq mp4 (polar pa (/ pi 2) (/ hh 2)))
;以下根据 mp1、mp2、mp3、mp4 点画出两条直线
(command"line" mp1 mp3 "")
(command"line" mp2 mp4 "")
)

vectra 发表于 2017-9-17 19:19:30

禁用捕捉试试

LeoMessi 发表于 2017-9-17 21:15:37

vectra 发表于 2017-9-17 19:19
禁用捕捉试试

谢谢:lol,确实是这样,取消捕捉就好了,这是为什么呢?

1993063 发表于 2017-9-18 10:05:54

LeoMessi 发表于 2017-9-17 03:15
谢谢,确实是这样,取消捕捉就好了,这是为什么呢?

command函数对捕捉有影响
页: [1]
查看完整版本: Lisp程序在高版本运行不正确