<캐드 / 윈도우 종류 및 버전 : 오토캐드 2016 / 윈도우10pro 64비트 >
아래 리습을 사용하고있는데요
파일에 따라 다른건지 어떨때는 작동이 되고 어떨때는 작동이 안됩니다. ㅠ
리습문제일까요?
주로쓰는건 아래 4개입니다.
; RTY : 모든레이어 한번에 켜기,동결해제,잠금해제하기
;——– ON / OFF
; loo : 모든레이어 켜기
; lf : 선택하여 레이어 끄기 (다중선택 가능)
; lff : 선택한 나머지 객체의 레이어 끄기 (다중선택 가능)
; 레이어 제어 리습 명령어
;——–
; RTY : 모든레이어 한번에 켜기,동결해제,잠금해제하기
;——– ON / OFF
; loo : 모든레이어 켜기
; lf : 선택하여 레이어 끄기 (다중선택 가능)
; lff : 선택한 나머지 객체의 레이어 끄기 (다중선택 가능)
;——– LOCK / UNLOCK
; YY : 모든레이어 잠금 해제
; HH : 선택한 객체의 레이어 잠그기 (다중선택 가능)
; NN : 선택한 나머지 객체의 레이어 잠그기 (다중선택 가능)
;——– FREEZE / THAW
; TT : 모든레이어 동결해제
; GG : 선택한 레이어 동결 (다중선택 가능, 현재 레이어 동결안됨)
; BB : 선택한 나머지 객체의 레이어 동결시키기 (다중선택 가능)
;
;Layer initialization —————————————————————————————————————————–
(defun c:RTY(/ cla ss k la-lis ed la k)
(setvar “cmdecho” 0)
(princ “n ::::: Layer initialization :::::”)
(command “layer” “t” “*” “”)
(command “layer” “on” “*” “”)
(command “layer” “u” “*” “”)
(princ “n ::::: Layer All On,Thaw,Unlock completion :::::”)
(princ)
) ;defun
;Layer On —————————————————————————————————————————–
(defun c:loo(/ cla ss k la-lis ed la k)
(setvar “cmdecho” 0)
(princ “n ::::: Layer On :::::”)
(command “layer” “on” “*” “”)
(princ “n ::::: Layer On completion :::::”)
(princ)
) ;defun
;Layer Off —————————————————————————————————————————–
(defun c:lf(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Off :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(foreach x la-lis (progn
(if (= x cla) (command “layer” “off” x “y” “”)
(command “layer” “off” x “”))
)
(princ “n[“)(princ x)(princ “] layer is off.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Off completion :::::”)
(princ)
) ;defun
;Layer Except Off —————————————————————————————————————————–
(defun c:lff(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Except Off :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(command “layer” “off” “*” “y” “”)
(foreach x la-lis (progn
(command “layer” “on” x “”)
)
(princ “n[“)(princ x)(princ “] layer is on.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Except Off completion :::::”)
(princ)
) ;defun
;Layer Unlock —————————————————————————————————————————–
(defun c:11111111(/ cla ss k la-lis ed la k)
(setvar “cmdecho” 0)
(princ “n ::::: Layer Unlock :::::”)
(command “layer” “u” “*” “”)
(princ “n ::::: Layer Unlock completion :::::”)
(princ)
) ;defun
;Layer lock —————————————————————————————————————————–
(defun c:222222222(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Lock :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(foreach x la-lis
(progn
(command “layer” “lo” x “”)
)
(princ “n[“)(princ x)(princ “] layer is lock.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Lock completion :::::”)
(princ)
) ;defun
;Layer Except Lock —————————————————————————————————————————–
(defun c:3333333333(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Except Lock :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(command “layer” “lo” “*” “”)
(foreach x la-lis (progn
(command “layer” “u” x “”)
)
(princ “n[“)(princ x)(princ “] layer is unlock.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Except Lock completion :::::”)
(princ)
) ;defun
;Layer Thaw —————————————————————————————————————————–
(defun c:44444444(/ cla ss k la-lis ed la k)
(setvar “cmdecho” 0)
(princ “n ::::: Layer Thaw :::::”)
(command “layer” “t” “*” “”)
(princ “n ::::: Layer Thaw completion :::::”)
(princ)
) ;defun
;Layer Freeze—————————————————————————————————————————–
(defun c:555555555(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Freeze :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(foreach x la-lis
(progn
(command “layer” “f” x “”)
)
(princ “n[“)(princ x)(princ “] layer is Freeze.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Freeze completion :::::”)
(princ)
) ;defun
;Layer Except Freeze —————————————————————————————————————————–
(defun c:6666666666(/ cla ss k la-lis ed la k)
(princ “n ::::: Layer Except Freeze :::::”)
(setq cla (getvar “clayer”))
(setq ss (ssget))
(setq k 0 la-lis ‘())
(setvar “cmdecho” 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k))
la (cdr (assoc 8 ed)))
(setq la-lis (append la-lis (list la)))
(setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command “undo” “be”)
(command “layer” “f” “*” “”)
(foreach x la-lis (progn
(command “layer” “t” x “”)
)
(princ “n[“)(princ x)(princ “] layer is Thaw.”)
) ;foreach
(command “undo” “e”)
(princ “n ::::: Layer Except Freeze completion :::::”)
(princ)
) ;defun
;서브루틴함수—————————————————————————————————————————–
(defun str_memb (str_lst / a b)
(setq b (reverse str_lst))
(mapcar ‘(lambda (x) (if (= (member x a) nil) (setq a (cons x a)))) b)
a
)
;————————————————————————————————————————–
캣츠에 레이어 관련 기능들이 있는데 참고해보세요 ^^
https://cafe.naver.com/autocats/1945