외부 참조 layer on/off 리습을 구하고 있습니다…
아래는 외부 참조 layer on 하는 리습은 구했구요….off 하는 리습으로도 구현이 될가요??
부탁드립니다~^^
;;===============================
; Quick layer thaw(2004.3 CHO_I)
;;——————————-
(defun c:qt(/ choi d_ndata list1 list2 list3 list32 list33 db1_2 db1_8 db3_2 db3_8
db32_2 db32_8 db1_la db3_la db32_la yn1 yn3)
(setq choi (getvar “clayer”))
(setq d_ndata (nentsel))
(setq list1 (car d_ndata)
list2 (nth 2 d_ndata)
list3 (nth 3 d_ndata)
)(terpri)
(prompt “*list1 : “) (prin1 list1)(terpri)
(prompt “*list2 : “) (prin1 list2)(terpri)
(prompt “*list3 : “) (prin1 list3)(terpri)
(setq list32 (cadr list3))
(setq list33 (caddr list3))
;;list1 구하기
(setq db1_2 (assoc 2 (entget list1)))
(setq db1_8 (assoc 8 (entget list1))) (setq db1_la (cdr db1_8))
;화면출력<list1>
(prompt “*<1>화일이름|블럭이름 : “)(prin1 db1_2)(terpri)
(prompt “* Layer name : “)(prin1 db1_la)(terpri)
;;list3 구하기
(if (/= list3 nil) (progn
(setq db3_2 (assoc 2 (entget (car list3))))
(setq db3_8 (assoc 8 (entget (car list3)))) (setq db3_la (cdr db3_8))
;화면출력<list3>
(prompt “*<3>화일이름|블럭이름 : “)(prin1 db3_2)(terpri)
(prompt ” 현재 속한 Layer : “)(prin1 db3_la)(terpri)
))
;;list32 구하기
(if (/= list32 nil) (progn
(setq db32_2 (assoc 2 (entget list32)))
(setq db32_8 (assoc 8 (entget list32))) (setq db32_la (cdr db32_8))
;화면출력<list3.2>
(prompt “*<3.2>Xref 화일이름 : “)(prin1 db32_2)(terpri)
(prompt ” Attach Layer : “)(prin1 db32_la)(terpri)
))
;;list33 구하기
(if (/= list33 nil) (progn
(setq db33_2 (assoc 2 (entget list33)))
(setq db33_8 (assoc 8 (entget list33))) (setq db33_la (cdr db33_8))
;화면출력<list3.3>
(prompt “*<3.3>Xref 화일이름 : “)(prin1 db33_2)(terpri)
(prompt ” Attach Layer : “)(prin1 db33_la)(terpri)
))
;;Layer freeze
(if (and (/= list2 nil) (/= db1_la db3_la))
(progn
(setq last_laf db1_la)
(setvar “clayer” “0”)
(command “layer” “off” “*” “” “”)
(command “layer” “on” db1_la “”)
)
(progn
(setvar “clayer” db1_la)
(command “layer” “off” “*” “” “”)
(command “layer” “on” db1_la “”)
)
)
(prin1 db1_la)(prompt ” —> Layer ON”)
(prin1)
)