sunny_8848
发表于 2019-9-30 11:25:30
dhtfm 发表于 2013-12-12 15:52
别人的你可以参考一下。
; 连续复制
(defun c:cc(/ oce ss p1 p2)
很方便,多谢分享
yubihai
发表于 2019-9-30 16:31:24
程序很好,收藏了
594826903
发表于 2019-12-10 14:45:09
很好用感谢楼主!
Hope_day
发表于 2019-12-19 10:13:54
谢谢在ucs状态下可以使用
香远益清
发表于 2019-12-20 10:09:58
不错的程序
tsukki
发表于 2020-2-28 12:56:03
学习,马克~
纵横八方
发表于 2020-2-29 21:48:33
本帖最后由 纵横八方 于 2020-3-1 20:33 编辑
我帮你解决了
一定呀加个判断 是否继续上次距离DIS,不可能一直都用这个距离DIS,万一想改动呢
(defun c:fz (/ an n p p1 p2 ss)
(setq ss (ssget)
p1 (getpoint "\n起点:")
p2 (getpoint "\n第二点:" p1)
an (angle p1 p2)
n1
)
(if (null dis)
(progn
(setq dis (distance p1 p2))
(command "copy" ss "" "non" p1 "non" p2)
(rr)
)
(progn
(initget "y n")
(setq p (getkword "继续上次距离:[是(y)/否(n)]<y>:"))
(cond
((= p "y")
(command "copy" ss "" "non" p1 "non" (polar p1 an dis))
)
((= p "n")
(command "copy" ss "" "non" p1 "non" p2)
(setq dis (distance p1 p2))
)
(t (command "copy" ss "" "non" p1 "non" (polar p1 an dis)))
)
)
)
(rr)
(princ)
)
(defun rr (/ p p2)
(while (setq p (getstring "\n空格键继续:"))
(setq n (+ n 1))
(setq p2 (polar p1 an (* n dis)))
(command "copy" ss "" p1 p2)
(rr)
)
)
纵横八方
发表于 2020-2-29 21:50:50
纵横八方 发表于 2020-2-29 21:48
我帮你解决了
一定呀加个判断 是否继续上次距离DIS,不可能一直都用这个距离DIS,万一想改动呢
(defun c:f ...
我这个代码很精简了
sunny_8848
发表于 2020-3-1 19:12:06
纵横八方 发表于 2020-2-29 21:50
我这个代码很精简了
代码很好用。不知道是否可以帮忙改成输入要复制的数量代替输入的空格数
纵横八方
发表于 2020-3-1 19:20:44
用用就行了,高版本不是有多重复制,或者阵列更好用