magicheno 发表于 2021-7-22 00:31:45

带前缀或者后缀的图层,如何批量转移至各指定指定图层

本帖最后由 magicheno 于 2021-7-22 00:34 编辑

请教下大佬们,带指定前缀或者后缀的或中间的图层,或者就是固定图名的图层,如何批量转移至各指定图名图层
比如框选一部分图元
使得带后缀图层名为_A1的图层,转移至G_PJ
       带后缀图层名为_B1的图层,转移至G_TX
       带后缀图层名为_C1的图层,转移至G_SB
       带后缀图层名为_D1的图层,转移至G_NOTE
            固定图层名为E1的图层,转移至W_G
            固定图层名为F1的图层,转移至W_P
这样功能能实现么

tryhi 发表于 2021-7-22 00:31:46

本帖最后由 tryhi 于 2021-7-22 11:53 编辑

(vl-load-com)
(defun c:tt (/ a en l lay layer o ss)
        (setq lay '(("*_A1" "G_PJ")("*_B1" "G_TX")("*_C1" "G_SB")("*_D1""G_NOTE")("E1""W_G")("F1" "W_P")))
        (setq ss(ssget)
                a -1)
        (while(setq en(ssname ss(setq a(1+ a))))
                (setq o(vlax-ename->vla-object en)
                        layer(vla-get-layer o)
                        l(vl-some '(lambda(x)(if(wcmatch layer (car x))(cadr x))) lay))
                (if l (progn
                                                (entmod (subst (cons 8 l)(cons 8 layer)(entget en)))
                                                (entupd en)
                                        ))
        )
)

lingduwx 发表于 2021-7-22 11:11:12

论坛里有图层合并,自己搜索一下

masterlong 发表于 2021-7-22 11:23:14

批量的话多半是要自己写代码的

手动归并图层
推荐搜一下高飞鸟大侠的符号管理器

高大侠有几个ID

magicheno 发表于 2021-7-22 13:44:41

lingduwx 发表于 2021-7-22 11:11
论坛里有图层合并,自己搜索一下

这个知道的,就是找到的和想要实现的有区别哦

magicheno 发表于 2021-7-22 13:45:38

masterlong 发表于 2021-7-22 11:23
批量的话多半是要自己写代码的

手动归并图层


是的,主要不会呢,海哥写了个,试过了效果不错的

magicheno 发表于 2021-7-22 13:46:10

tryhi 发表于 2021-7-22 00:31
(vl-load-com)
(defun c:tt (/ a en l lay layer o ss)
        (setq lay '(("*_A1" "G_PJ")("*_B1" "G_TX")("* ...

多谢海哥帮忙哦,试过了效果不错的,是我想要的效果

llsheng_73 发表于 2021-7-22 15:11:08

(vl-load-com)
(defun c:tt (/ a en l lay layer o ss)
      (setq lay '(("*_A1" "G_PJ")("*_B1" "G_TX")("*_C1" "G_SB")("*_D1""G_NOTE")("E1""W_G")("F1" "W_P")))
       (if(setq a -1
              ss(ssget(list(cons 8(apply'strcat(mapcar'(lambda(x)(strcat","(car x)))lay))))))
      (while(setq en(ssname ss(setq a(1+ a))))
                (setq o(vlax-ename->vla-object en)
                        layer(vla-get-layer o))
          (entmod(append(entget en)(list(cons 8(vl-some'(lambda(x)(if(WCMATCH layer(car x))(cadr x)))lay)))))
      ))
)

masterlong 发表于 2021-7-22 16:09:13

不用考虑图块吗?

magicheno 发表于 2021-7-22 16:53:02

masterlong 发表于 2021-7-22 16:09
不用考虑图块吗?

不用这么复杂啦,固定的后缀的一般都是自己默认的,想要由一个系统瞬间变成另一个系统的各个图层的,如果是块的话 块内部都是0层的,没影响的哈
页: [1] 2
查看完整版本: 带前缀或者后缀的图层,如何批量转移至各指定指定图层