我同意ymg,我也不理解“层名称*”。。。
如果您的目标是将tha层与选定对象隔离,那么这样做可能会奏效
- (defun c:demo (/ ent i lay laylst lays ss)
- (if (setq ss (ssget))
- (progn
- (repeat (setq i (sslength ss))
- (setq ent (entget (ssname ss (setq i (1- i))))
- lay (cdr (assoc 8 ent))
- )
- (if (not (member lay laylst))
- (setq laylst (cons lay laylst))
- )
- )
- (setq lays "")
- (foreach l laylst
- (if (/= l (last laylst))
- (setq lays (strcat lays l ","))
- (setq lays (strcat lays l))
- )
- )
- (setvar 'CLAYER (car laylst))
- (command "-layer" "off" "*" "" "on" lays "")
- )
- )
- (princ)
- )
HTH
亨里克 |