选择一个物体,识别图层单独打开,并且同时开启另外几个图层。
假设,1,2,3,4,5 是一个组
A,B,C,D,E是一个组
6,7,8,9,0,是一个组
F,G,H,I,J,K,是一个组
我输入命令,鼠标选中一个直线,或者其他任何图元,
选中的这个图元是图层1, 那么就开启 1,2,3,4,5 这个一个组
只要选中的 图元是1,2,3,4,5 这个一个组中的任何一个图层, 都会开启这个组的图层,单都开启这一组的图层。其他层关闭,
同理,要是选中的A,B,C,D,E 这个组中的任何一个,也就打开这一个组的图层。 单都开启这一组的图层。其他层关闭,
同理,要是选中的 6,7,8,9,0, 这个组中的任何一个,也就打开这一个组的图层。 单都开启这一组的图层。其他层关闭,
本帖最后由 ssyfeng 于 2022-10-19 11:14 编辑
看看这个是不是你需要效果:
(defun c:test(/ en lay1 lay2 lays)
(vl-load-com)
(setq lays(list
'("1" "2" "3" "4" "5")
'("6" "7" "8" "9" "0")
'("A" "B" "C" "D" "E")
'("F" "G" "H" "I" "J" "K")
)
)
(if(setq en(entsel))
(progn
(setq lay1(cdr(assoc 8(entget(car en)))))
(if(setq lay2(vl-remove-if-not '(lambda(x)(member lay1 x))lays))
(command ".layer" "s" lay1 "t" "*" "off" "*" "y" "on" (apply 'strcat(mapcar '(lambda(x)(strcat x ","))(car lay2))) "" )
)
)
)
(prin1)
)
2个都可以使用,很好用,简短的这个,复制了好多次才能使用,不知道是什么原因经常提示有问题,但是还是搞好了,不知道是不是复制了其他的。 ,。 ssyfeng 发表于 2022-10-18 21:25
看看这个是不是你需要效果:
是这个效果,要是要关闭这个图层组,是怎么弄? xtjd 发表于 2022-10-19 10:49
是这个效果,要是要关闭这个图层组,是怎么弄?现在这个是打开, 要是要关闭选中的任何一个图层,就关闭这个图层组。 把这两个掉换一下 〆看_淡点 发表于 2022-10-19 20:10
是这个效果,要是要关闭这个图层组,是怎么弄?现在这个是打开, 要是要关闭选中的任何一个图层,就关 ...
xtjd 发表于 2022-10-20 09:24
感谢感谢,要的就是这样的, :victory:感谢感谢,要的就是这样的,我也需要这样的
页:
[1]
2