找到一个旋转复制的函数,有没有办法让它能多次复制?
(defun c:rc ()<BR>(setvar "cmdecho" 0)<BR>(setq ss (ssget))<BR>(setq p1 (getpoint "\n请选择基准点:"))<BR>(setvar "osmode" 0)<BR>(command "copy" ss "" p1 "@")<BR>(command "rotate" "P" "" p1)<BR>(setvar "cmdecho" 1)<BR>(princ)<BR>)应该采用哪种思考方法能让它多次复制再旋转起来呀? 我先这样做一个, 先运行你的RC 完成再运看下面的RCD 仿造你的. 但不太好.
我覺的好象用處不大. 不知道樓主的用意呢.
(defun c:rcD ()<BR>(setvar "cmdecho" 0)<BR>(setq ss (ssget "P"))<BR>(setq p1 (getvar "LASTPOINT"))<BR>(setvar "osmode" 0)<BR>(command "copy" ss "" p1 "@")<BR>(command "rotate" "P" "" p1)<BR>(setvar "cmdecho" 1)<BR>(princ)) 呵呵,你的也是只能旋转一次的,但把我的那个加上你的那个,然后再循环就行了。有点眉目。呵呵。 用while循環好點. 不行呀,用while老是出错。可能主要是一些点没解决好。我再去想想,实在不行的话再请教你,呵呵,谢谢了。 哈哈,这个程序可能是我写的,我也没有想出好的办法,如果大家想出来了,也共享一下
回复:(xstlf)找到一个旋转复制的函数,有没有办法让...
功能可以实现,但只能用esc结束。(defun c:rc ()<BR> (setvar "cmdecho" 0)<BR> (setq ss (ssget))<BR> (setq p1 (getpoint "\n请选择基准点:"))<BR> (setq lastobj (entlast)) <BR> (command "copy" ss "" p1 "@")<BR> (setq ss1 (ssadd))<BR> (while (setq lastobj (entnext lastobj))(setq ss1 (ssadd lastobj ss1)))<BR> (command "rotate" ss1 "" p1 pause)<BR> (while (= 0 0)<BR> (setq lastobj (entlast))<BR> (command "copy" ss "" "none" p1 "none" p1)<BR> (setq ss1 (ssadd))<BR> (while (setq lastobj (entnext lastobj))(setq ss1 (ssadd lastobj ss1)))<BR> (command "rotate" ss1 "" "none" p1 pause)<BR> )<BR> (princ)<BR>) 可不可以用一下"COPY"里的"M"
多次复制功能呢?
页:
[1]