如何复制b的子实体
尊敬的先生:。我想问一个问题,如何在不分解块的情况下复制块的子实体?
非常感谢。 打开块编辑器并使用简单的剪切和粘贴到新图形中? Hi-taner公司
如果安装了express tools,请尝试NCOPY
从“快捷>块>复制嵌套对象”菜单中 谢谢
我想知道是否有其他方法,使用vla方法怎么样? vla CopyObjects方法。这里是第7篇文章中将对象从MInsert块复制到模型空间的示例http://www.cadtutor.net/forum/showthread.php?t=20429 请尝试:
(defun c:test (/ basept ent ent_data)
(vl-load-com)
(setq ent_data (entget (car (setq ent (nentsel)))))
(setq basept (cdr (assoc 10 (entget (car (last ent))))))
(vla-TransformBy
(vlax-ename->vla-object
(entmakex ent_data)
) ;_ vlax-ename->vla-object
(vlax-tmatrix
(list
(list 1. 0. 0. (car basept))
(list 0. 1. 0. (cadr basept))
(list 0. 0. 1. (caddr basept))
(list 0. 0. 0. 1.)
) ;_ list
) ;_ vlax-tmatrix
) ;_ vla-TransformBy
) ;_ defun (defun copy fmblk(/e el newent new entlst)
(同时)
(setq e(nentselp)“\n选择块内实体: "))
(=(长度e)4)
)
(setq el(entget(e车)))
(setq newent(entmakex el))
(vla transformby(vlax ename->vla object newent)(vlax tmatrix)
(caddr e)
)
)
(setq new entlst(cons newent new entlst))
)
新entlst
) 这看起来像是一种类似于Wizmans的方法(如果不是完全相同的话) 我测试了taners版本,允许多重选择,也可以用于嵌套块,但需要一些额外的编码用于缩放(均匀/非均匀)块。
页:
[1]