求大师修改下选择对象关闭该图层
;关闭对象所在图层(defun c:DYTC ()
(setq ss (ssget))
(setq cnt (sslength ss))
(setq cnt1 (- 1 cnt))
(setq c 0)
(while (<= c cnt1)
(setq en (ssname ss c))
(setq lay (cdr (assoc 8 (entget en))))
(if (= lay (getvar "clayer"))
(command "-layer" "off" lay "y" "")
(progn
(command "-layer" "off" lay "")
)
)
(setq c (+ 1 c))
)
(princ)
)
这段代码只能选择1个对象然后会关闭该对象的图层,,,,,就是要一个一个的选择...
1----我想修改后 能选择多个对象然后关闭对象相应的图层...
2----修改后当输入命令在未选择对象的情况下 ,,,,开启被该命令关闭的图层对应图层......
麻烦大师了谢谢......................
(defun c:DYTC (/ ss c en lay)
(if (setq ss (ssget))
(progn;;;关闭
(setq c 0)
(while (< c (sslength ss))
(setq en (ssname ss c))
(setq lay (cdr (assoc 8 (entget en))))
(if (not (member lay laylst))
(setq laylst (cons lay laylst))
)
(if (= lay (getvar "clayer"))
(command "-layer" "off" lay "y" "")
(command "-layer" "off" lay "")
)
(setq c (+ 1 c))
)
)
(progn;;;开启
(setq c 0)
(repeat (length laylst)
(command "-layer" "on" (nth c laylst) "")
(setq c (1+ c))
)
)
)
(princ)
) 严哥出手不一般….太感谢了了..谢谢… Layerp 命令用于你的第二个要求。 layfrz.可以满足第一个要求啊!
页:
[1]