Tharwat 发表于 2022-7-5 17:53:27

 
不客气。
 
与以下添加类似,这应该忽略对象捕捉设置的设置,以将新创建的对象放置在正确的位置。

(defun c:Test (/ cm ss in)
(if (and (setq ss (ssget "_:L"))
          (setq in (getint "\nSpecify number of copies :"))
   )
   (progn
   (setq cm (getvar 'CMDECHO))
   (setvar 'CMDECHO 0)
   (repeat in
       (command "_.COPY" ss "" "_none" '(0. 0.) "_none" '(0. 0.))
   )
   (setvar 'CMDECHO cm)
   )
)
(princ)
)

ctrlaltdel 发表于 2022-7-5 17:57:04

 
我也遇到过。要复杂得多。

ctrlaltdel 发表于 2022-7-5 18:01:55

谢谢塔瓦的解释。

Tharwat 发表于 2022-7-5 18:07:33

 
祝你好运
享受

marko_ribar 发表于 2022-7-5 18:09:31

另一个:
 

(defun c:test ( / ss n i e )

(vl-load-com)

(if
   (and
      (setq ss (ssget "_:L"))
      (not (initget 7))
      (setq n (getint "\nHow many copies : "))
   )
   (repeat (setq i (sslength ss))
   (setq e (ssname ss (setq i (1- i))))
   (repeat n
       (vla-copy (vlax-ename->vla-object e))
   )
   )
)
(princ)
)

ctrlaltdel 发表于 2022-7-5 18:16:07

谢谢marko_ribar。这同样有效。
 
页: 1 [2]
查看完整版本: 复制并粘贴到原始位置