自贡黄明儒 发表于 2013-6-14 14:19:12

原地Ccopy属性块------------总结

本帖最后由 自贡黄明儒 于 2013-6-14 16:04 编辑

;;在晓东论坛上,我求助了原地Ccopy属性块,并对之进行了总结,现将总结放在这里,希望还有高手来完善

;;自贡黄明儒 2013年6月14日
;;(setq en (car (entsel "\n拾取属性块:")))
;;1 command co法(by woman1314)
(command "_.copy" en "" "0,0" "@")

;;2 entmake法(by ll_j)
(defun w2 (en / BOOL ENT NEN)
(setq      nen en
      bool T
)
(while bool
    (entmake (setq ent (entget nen)))
    (if      (equal (cdr (assoc 0 ent)) "SEQEND")
      (setq bool nil)
      (setq nen (entnext nen))
    )
)
)

;;3 vlax法(by woman1314)
(vlax-invoke-method (vlax-ename->vla-object en) 'Copy)

;;4 vla法(by free-Lancer)
(vla-copy (vlax-ename->vla-object en))

;;5 vla-InsertBlock法(by Lispboy)
(defun w3 (en / IP MSPACE NAME ROT UTIL VLA-EN XSCALE YSCALE ZSCAL)
(setq      mspace (vla-get-modelspace
               (vla-get-activedocument (vlax-get-acad-object))
               )
)
(setq vla-en (vlax-ename->vla-object en))
(setq      Name   (vla-get-Name vla-en)
      ip   (vla-get-InsertionPoint vla-en)
      xscale (vla-get-XScaleFactor vla-en)
      yscale (vla-get-YScaleFactor vla-en)
      zscale (vla-get-ZScaleFactor vla-en)
      rot    (vla-get-Rotation vla-en)
)
(vla-InsertBlock mspace ip Name xscale yscale zscale rot)
)

;;6 选择集法(by Gu_xl)
(defun w4 (ss)
(command "_.select" ss "")
(vlax-map-Collection
    (vla-get-ActiveSelectionSet
      (vla-get-ActiveDocument (vlax-get-acad-object))
    )
    'vla-copy
)
)

;;7 entmakex法
未知

hnfsf 发表于 2014-8-29 23:04:37

总结得很好,多个解决问题的办法。

langjs 发表于 2014-8-29 23:50:54

有时候可能用得上,马克先

qyming 发表于 2014-8-30 00:17:31

好,。。。。。。。。。。
页: [1]
查看完整版本: 原地Ccopy属性块------------总结