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

用用就行了,高版本不是有多重复制,或者阵列更好用
页: 1 [2] 3
查看完整版本: 带记忆的连续复制