将外部参照的一部分复制到激活图形中
我曾经在Microstation中发现有用的一件事是能够通过使用“定位”将对象从参考文件复制到活动绘图文件(我认为......自从我启动那个特定的野兽以来已经很长一段时间了)所有这些都发生在不必离开活动文件的情况下。有什么方法可以在AutoCAD中完成此操作吗?(原生或例行公事有人藏在某处)
提前致谢
T
**** Hidden Message ***** 找不到部分副本,但找到了以下内容:
http://www . the swamp . org/index . PHP?topic=8416.msg108349#msg108349 您可以尝试Express tools的Ncopy...我从来没有太多的运气使用它 我有一个类似的工具,但目前它只能在Civil 3D中使用。它非常有用,尽管如此,也许我应该试着把它分解成一些Autocad通用的东西... 不久前我拼凑了这个...可能会改进,但它一直在为我工作。
(defun c:copyn (/ blk blks e i lst obj tm ss)
(setq blks (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
)
ss (ssadd)
)
(while (and (setq e (nentselp "Select nested object to copy: "))
(setq tm (caddr e))
(setq blk (car (cadddr e)))
(setq blk (vlax-ename->vla-object blk))
(setq i (vla-item blks (vla-get-name blk)))
)
(if (= (vla-get-isxref i) :vlax-false)
(vlax-for be i
(if (and (setq e (entget (vlax-vla-object->ename be)))
(not (cdr (assoc 102 e)))
(setq obj (entmakex e))
(setq obj (vlax-ename->vla-object obj))
)
(progn
(vla-transformby obj (vlax-tmatrix tm))
(setq lst (cons (list obj (vla-get-color obj)) lst))
(vla-put-color obj 1)
(vla-update obj)
)
(princ (strcat "\nComplex entity not created [ "
(cdr (assoc 0 e))
" ]"
)
)
)
)
(progn
(setq obj (vlax-ename->vla-object (entmakex (entget (car e)))))
(vla-transformby obj (vlax-tmatrix tm))
(setq lst (cons (list obj (vla-get-color obj)) lst))
(vla-put-color obj 1)
(vla-update obj)
)
)
)
(if lst
(progn (foreach o lst
;;(vla-put-color (car o) (cadr o))
(setq ss (ssadd (vlax-vla-object->ename (car o)) ss))
(command ".draworder"
(vlax-vla-object->ename (car o))
""
"front"
)
)
(sssetfirst nil ss)
)
)
(princ)
)
哦,谢谢伙计们,我明天会尝试代码。
这是我从Microstation上错过的唯一命令之一 Refedit不起作用吗?打开Refedit,选择项目,使用同一个基点复制两次,然后从工作集中删除?为了安全起见,取消对引用的所有更改? 哦,你可能对新的Microstation更感兴趣 我从这里对例程做了一点修改:
http://www.theswamp.org/index.php?topic=27354.msg329179#msg329179
现在您可以复制嵌套块和/或其他实体并同时移动它(见附件lisp)
仍然存在一个“小”问题:当前绘图中的例程爆炸块...
是否可以修复它? ronjonp,非常感谢你鹅卵石铺成的例行公事 - 它太有用了,而且互联网上没有其他地方,我发现了类似的东西。
但我注意到了一些“小问题”。除了由 danglar 找到(在较高位置发布一条消息)之外,例程不能复制具有任何线型但为“连续”的对象,即使该线型定义在绘图中也是如此。太可惜了。例程以报告结束:“错误的参数类型:lentityp nil”。有人能给我一个最模糊的想法,为什么会发生这种情况吗?
页:
[1]