hbshyjch 发表于 2015-6-16 15:37:09

有没有直接显示指定图层的程序

有时候想PU一下图层,可是总有几个图层不能PU掉,找那几个图层的东西也找不到,有没有一个小程序能找到相关图层上东西。谢谢

Linhay 发表于 2015-6-16 15:58:52

qselect 不能解决吗?

hbshyjch 发表于 2015-6-16 16:49:12

不能,有些图层在块里面就选择不到了

荒野孤行 发表于 2015-6-16 23:30:27

如果块在图层上,而其他图元都不在那个图层上,也会清理不到。

masterlong 发表于 2015-6-17 00:35:51

可以采用高飞鸟的符号管理器
他的图层合并比CAD自带的要方便

囗Peanut囗 发表于 2015-6-20 00:30:54

cad有个命令是laytrans,不过你还是找找插件脚本啥的吧,自带的感觉操作起来略微有些麻烦。
但是也有人说自带的laytrans命令安全点,具体我也不清楚到底是啥意思。

qmqyqj 发表于 2015-6-22 12:02:48

用CAD2014以上直接把图层合并就行了

669423907 发表于 2015-6-29 11:19:27

这两个应该是你需要的
列出所有图层信息 smartstar 2012-11-11 http://bbs.mjtd.com/thread-99095-1-1.html
多选试图层合并【KAIXIN】 2011-12-22 http://bbs.mjtd.com/thread-91373-1-1.html

ly8zx2109 发表于 2022-2-23 15:16:17

本帖最后由 ly8zx2109 于 2022-2-23 16:13 编辑

(vl-load-com)
(defun c:xs (/ acaddocument acadobject ed i layer layers n ss zdc zdc1)
(setvar "cmdecho" 0)
(setq
    AcadObject       (vlax-get-acad-object)
    AcadDocument (vla-get-ActiveDocument AcadObject)
    Layers       (vla-get-Layers AcadDocument)
)
(if Layers
    (progn
      (princ "\n请选择对象,未被选中的对象所在的层将被关闭!!!")
      (setq
        ss (ssget ":S")
        i0
        n0
      )
      (if ss
        (progn
          (repeat (sslength ss)
          (setq
              ed(Vlax-Ename->Vla-Object (ssname ss i))
              zdc (vla-get-Layer ed)
              i          (1+ i)
          )
          (if        (= i 1)
              (setq zdc1 zdc)
              (setq zdc1 (strcat zdc1 "," zdc))
          )
          )
          (repeat (vla-get-Count Layers)
          (setq
              Layer (vla-item Layers n)
              n          (1+ n)
          )
          (if        (wcmatch (vla-get-Name Layer) zdc1)
              (vla-put-LayerOn Layer :vlax-true)
              (vla-put-LayerOn Layer :vlax-false)
          )
          )
        )
      )
    )
)
(setvar "cmdecho" 1)
(princ)
)

(defun c:sx (/ acaddocument acadobject i layer layers)
(setvar "cmdecho" 0)
(setq
    AcadObject       (vlax-get-acad-object)
    AcadDocument (vla-get-ActiveDocument AcadObject)
    Layers       (vla-get-Layers AcadDocument)
    i               0
)
(if Layers
    (repeat (vla-get-Count Layers)
      (setq
        Layer (vla-item Layers i)
        i   (1+ i)
      )
      (vla-put-LayerOn Layer :vlax-true)
    )
)
(setvar "cmdecho" 1)
(princ)
)
页: [1]
查看完整版本: 有没有直接显示指定图层的程序