CAD lisp程序瓶颈,高手帮忙!

(defunc:sxx()(setqen(entsel"\n选择对象:"))(setqens(entget(caren)))(setqs40(assoc40ens))(s... (defun c:sxx ( )
(setq en (entsel "\n 选择对象:" ))
(setq ens (entget (car en )))
(setq s40 (assoc 40 ens))
(setq s40a (cdr s40))
(setq s10 (assoc 10 ens ))
(setq s10a (cdr s10))
(setq s210 (assoc 210 ens ))
(setq s210a (cdr s210))

(entmake '( (0 . "circle")
(62 . 2)
(cons 10 s10)
(cons 40 s40a)
(cons 210 s210a)
)
)
(prin1)
)

就是复制一个已经存在的圆,半径,法向Z坐标,圆心都一样,该怎么编辑啊?
展开
 我来答
少有人教的那些事
2011-06-15 · TA获得超过8452个赞
知道大有可为答主
回答量:1.1万
采纳率:50%
帮助的人:2134万
展开全部
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是空值,程序就退出。
追问
能不能在我上面那个程序中直接改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vlxload
2011-06-16 · 超过11用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:37.2万
展开全部
搞的那么麻烦
(defun c:aa()
(setq ss(car(entsel)))
(command "copy" ss "0,0" "0,0" "")
(princ)
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式