Robb 发表于 2007-10-31 16:45:43

隔离外部参照上的图层。可能?

**** Hidden Message *****

T.Willey 发表于 2007-10-31 16:52:33

是的。我可能有一些代码。让我看看。
编辑:我没有你想要的。你希望它如何工作?如果单选,那么不会很难,但是如果你想使用选择集,那么会更难。

ronjonp 发表于 2007-10-31 17:04:34

裁员和裁员

ronjonp 发表于 2007-10-31 17:17:45


这与他想要的正好相反。

T.Willey 发表于 2007-10-31 17:24:14

我更好奇的是他想实现什么,b/c即使他隔离了图层,他也无法处理它b/c是外部参照,对吗?

ronjonp 发表于 2007-10-31 17:28:51


您可以使用引用来编辑它?

drizzt 发表于 2007-10-31 17:29:30

没错,但也有可能他只是想追踪地层。或者,他可能只是想在外部参照层的环境中隔离该层,因此选定的层将是唯一打开的外部参照层。

T.Willey 发表于 2007-10-31 17:29:49


我对此也很好奇,但我想这可能是出于绘图的目的。

ronjonp 发表于 2007-10-31 18:04:15

我没有考虑跟踪,我也在考虑引用编辑,并在那里隔离。如果他正在跟踪、参照编辑、隔离和复制他要跟踪的图元,请关闭参照编辑并粘贴到原始坐标系,从而在当前dwg中生成一个重复副本。

Robb 发表于 2007-10-31 18:10:30

这是我的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
查看完整版本: 隔离外部参照上的图层。可能?