隔离外部参照上的图层。可能?
**** Hidden Message ***** 是的。我可能有一些代码。让我看看。编辑:我没有你想要的。你希望它如何工作?如果单选,那么不会很难,但是如果你想使用选择集,那么会更难。 裁员和裁员
这与他想要的正好相反。 我更好奇的是他想实现什么,b/c即使他隔离了图层,他也无法处理它b/c是外部参照,对吗?
您可以使用引用来编辑它? 没错,但也有可能他只是想追踪地层。或者,他可能只是想在外部参照层的环境中隔离该层,因此选定的层将是唯一打开的外部参照层。
我对此也很好奇,但我想这可能是出于绘图的目的。 我没有考虑跟踪,我也在考虑引用编辑,并在那里隔离。如果他正在跟踪、参照编辑、隔离和复制他要跟踪的图元,请关闭参照编辑并粘贴到原始坐标系,从而在当前dwg中生成一个重复副本。 这是我的Rinky dink版本:
使用NLAYUNISO恢复图层设置。
(defun c:nlayiso (/ lays llst x n)
(setq lays (vla-get-layers
(vla-get-activedocument (vlax-get-acad-object))
)
)
(if *frzlyrs*
(c:nlayuniso)
)
(while (setq x (nentsel
"\nSelect objects on the layer(s) to be isolated: "
)
)
(progn
(setq n (cdr (assoc 8 (entget (car x)))))
(if (not (member n llst))
(progn
(setq llst (cons n llst))
(princ (strcat "\n" n))
)
)
(if (nth 3 x)
(foreach z (nth 3 x)
(setq n (cdr (assoc 8 (entget z))))
(if (not (member n llst))
(progn
(setq llst (cons n llst))
(princ (strcat "\n" n))
)
)
)
)
)
)
(if llst
(progn
(vlax-map-collection
lays
'(lambda (x)
(if (not (member (vla-get-name x) llst))
(progn
(setq *frzlyrs*
(append *frzlyrs* (list (cons x (vla-get-freeze x))))
)
(vl-catch-all-error-p
(vl-catch-all-apply
'vla-put-freeze
(list x :vlax-true)
)
)
)
)
)
)
(defun c:nlayuniso (/)
(if *frzlyrs*
(mapcar '(lambda (x)
(vl-catch-all-error-p
(vl-catch-all-apply
'vla-put-freeze
(list (car x) (cdr x))
)
)
)
*frzlyrs*
)
)
(command "._regen")
(setq *frzlyrs* nil)
(princ)
)
)
)
(princ)
)
页:
[1]
2