带前缀或者后缀的图层,如何批量转移至各指定指定图层
本帖最后由 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 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)
))
)
)
论坛里有图层合并,自己搜索一下 批量的话多半是要自己写代码的
手动归并图层
推荐搜一下高飞鸟大侠的符号管理器
恩
高大侠有几个ID lingduwx 发表于 2021-7-22 11:11
论坛里有图层合并,自己搜索一下
这个知道的,就是找到的和想要实现的有区别哦 masterlong 发表于 2021-7-22 11:23
批量的话多半是要自己写代码的
手动归并图层
是的,主要不会呢,海哥写了个,试过了效果不错的 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")("* ...
多谢海哥帮忙哦,试过了效果不错的,是我想要的效果 (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
不用考虑图块吗?
不用这么复杂啦,固定的后缀的一般都是自己默认的,想要由一个系统瞬间变成另一个系统的各个图层的,如果是块的话 块内部都是0层的,没影响的哈
页:
[1]
2