feng582304 发表于 2022-2-7 02:36:26

很久没发贴了,发个动态复制,当作报到一下吧。

;=======================动态复制========================================
(defun c:ccd ( / s1 p1 p2 di n1 n2 st gr tt ang s2 li txt doc err )
(setq s1 (ssget))
(setq s1 (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex s1)))))
(setq p1 (getpoint "\n请选择基点:"))
(setq di (getdist p1 "\n请输入间距:"))
(setq doc (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
(setq err *error*)
(defun *error* (msg)
    (foreach n2 li (vla-delete n2))
    (setq *error* err)
    (princ)
    )
(command "undo" "be")
(setq tt t)
(while tt
    (setq gr (grread t 4 2))
    (cond
      ((= (car gr) 5)
       (progn
       (if li (foreach n2 li (vla-delete n2)))
       (setq p2 (osnap (cadr gr) "_nea"))
       (if (null p2) (setq p2 (cadr gr)))
       (setq n1 1)
       (setq ang (angle p1 p2))
       (setq txt (vla-addtext doc (strcat "间距:" (itoa (fix (/ (distance p1 p2) di)))) (vlax-3d-point p2) 400))
       (vla-put-color txt 6)
       (setq li (list txt))
       (repeat (fix (/ (distance p1 p2) di))
           (foreach n2 s1
             (progn
             (setq s2 (vla-copy n2))
             (vla-move s2 (vlax-3d-point (trans p1 1 0)) (vlax-3d-point (trans (polar p1 ang (* di n1)) 1 0)))
             (setq li (append li (list s2)))
             )
             )
           (setq n1 (1+ n1))
           )
       ))
      ((= (car gr) 3) (vla-delete txt) (setq tt nil))
      )
    )
(command "undo" "e")
(princ)
)
1.因为是实时复制,对象大多的话会卡,如果确实需要多对象复制的话,建议做成块再复制。
2.这个脚本可以看成在世界坐标中,二维任意方向的单向陈列,里面没有加ucs转换。
3.因为是任意方向,所以没有进行坐标轴的锁定,可以自己做辅助线, 这个脚本可以捕捉邻近点。
4.我不会做动态演示,就这样吧。

feng582304 发表于 2022-2-8 23:27:50

cghdy 发表于 2022-2-8 15:42
过程中不能切换正交,唯一的小缺憾

正交的方向应该很容易找到可以当成辅助线的的吧,我用的时候基本不会有这方面的困扰。反而是非正交经常需要做辅助线。

feng582304 发表于 2022-3-18 00:19:52

mubin1979 发表于 2022-3-16 11:32
楼主,在cad2008中,选择对象后出现:
; 错误: no function definition: nil

在最前面加句(vl-load-com)试试,应该能行。

mubin1979 发表于 2022-3-16 11:32:09

楼主,在cad2008中,选择对象后出现:
; 错误: no function definition: nil

nxchenjk 发表于 2022-2-7 08:48:01

好帖

shcvip 发表于 2022-2-7 10:41:34

好贴,谢谢分享!

sncokina 发表于 2022-2-7 12:57:21

谢谢分享!{:1_1:}

200853006 发表于 2022-2-7 22:16:55

谢谢分享,好贴!

cghdy 发表于 2022-2-8 15:42:37

过程中不能切换正交,唯一的小缺憾

上善若水!@# 发表于 2022-2-11 09:35:39

很强,谢谢分享

czb203 发表于 2022-2-13 14:34:52

很强,谢谢分享

liweitung 发表于 2022-2-13 16:51:14

好贴,谢谢分享!
页: [1] 2
查看完整版本: 很久没发贴了,发个动态复制,当作报到一下吧。