CAD LISP 小程序 求高手!

(defunc:std(/abcdsxppxpypza1a2a3a4a5a6a7b1b2b3b4)(setvar"cmdecho"0)(setvar"blipmode"0... (defun c:std(/ a b c d s x p px py pz a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 b4)(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq p (getpoint"\n请指定基点:"))
(setq px (car p)
py (cadr p)
pz (caddr p))
(setq a 400)
(setq b 120)
(setq c 280)
(setq d 20)
(setq s 40)
(setq x 90)
(setq a1 (list (+ px d) py pz)
(setq a2 (list (+ px d a) py pz))
(setq a3 (list (+ px d a (/ b 2)) py pz))
(setq a4 (list (+ px d a b) py pz))
(setq a5 (list (+ px d a b a) py pz))
(setq a6 (list (+ px d a b a (/ b 2)) py pz))
(setq a7 (list (+ px d a b a (- b 1)) py pz))
(setq b1 (list px (+ py x) pz))
(setq b2 (list px (+ py x (/ b 2)) pz))
(setq b3 (list px (+ py x c) pz))
(setq b4 (list px (+ py x c s) pz))
(command "pline" p a1 a2 a3 a4 a5 a6 a7 "")
(command "copy" (entlast) "" p b1 b2 b3 b4 e )
(command "pline" p b1 b2 b3 b4 "")
(command "_copy" (entlast) "" p a1 a2 a3 a4 a5 a6 a7 e)
(command "explode" "all")
(setvar "osmode" os)
(princ)
)

为什么COPY 复制时候 只复制了一次 就不往后复制了,什么原因 ,求教!
再要说明的是 我的是07版的CAD 就这句错了 (command "copy" (entlast) "" p b1 b2 b3 b4 "e" )
04版的可以这样编 可以成功 (command "copy" (entlast) "" "m" p b1 b2 b3 b4 "" )
展开
 我来答
美妙又虔敬丶多宝鱼7603
2011-04-20 · TA获得超过265个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:195万
展开全部
autocad2007的copy自身就是多次拷贝,就是你不用输入m就是多次拷贝,但在二次开发中一定要用m
下面的lisp程序是用于拷贝
(defun c:ccp1 ()
(prompt "选择要拷贝的目标:")
(setq en (ssget))
(prompt "输入基点:")
(setq p1 (getpoint))
(command "copy" en "" p1 )
(while (setq p2 (getpoint))
(command p2)
)
)
在上面的程序中应没输入"m"虽然copy在命令下是多次拷贝的在程序中给它了多次拷贝的条件,但只能拷贝一次。
(defun c:ccp ()
(prompt "选择要拷贝的目标:")
(setq en (ssget))
(prompt "输入基点:")
(setq p1 (getpoint))
(command "copy" en "" "m" p1 )
(while (setq p2 (getpoint))
(command p2)
)
(command "")
)
在程序ccp中在输入p1前加了"m" (command "copy" en "" "m" p1 )它就是多次拷贝
下面是一个循环只要p2有值它就要去拷贝,当你在(setq p2 (getpoint))输入回车,这时p2是空值,程序就退出。
追问
原来是我自己搞糊涂了,原来(command "copy" (entlast) "" "m" p b1 b2 b3 b4 "" )在04可以,在07也可以,可是我没把这句输入到07,只是看到07复制时候没让输入M ,我在命令行输入M不管用,原来在语句里写了M它也承认。 还是很感谢你!

参考资料: http://www.jxcad.com.cn/topic_1183080.html

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式