(defun ent*sel (msg / es)
(setvar “errno” 0)
(while (and (not es) (/= (getvar “errno”)52))
(if (= (type msg) ‘STR)(setq es (entsel msg)) (setq es (entsel)))
)
es
);;;end defun
;;;===========================================================================
[CH-LAYER]
(defun c:ch2 ( )
(graphscr)
(setvar “cmdecho” 0)
(prompt “n ******* linetype이 ==BYLAYER==인것은 선택하지 마시오….*******”)
(setq lnty (cdr(assoc 6 (entget(car(ent*sel “n 바꿀놈들의 linetype을 선택하시오 : “))))))
(while (= lnty nil)
(setq lnty (cdr(assoc 6 (entget(car(ent*sel “n 바꿀놈들의 linetype을 다시 선택하시오 : “))))))
)
(setq ncl (getstring “n 바뀌어질 layer name을 넣으시오 : “))
(while (= ncl “”)
(setq ncl (getstring “n 바뀌어질 layer name을 다시 넣으시오 : “))
)
(setq by “BYLAYER”)
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq b1 (entget (ssname a index)))
(setq index(+ 1 index))
(setq b (assoc 6 b1))
(if (= lnty (cdr b))
(progn
(setq c (assoc 8 b1))
(setq d (cons (car c) ncl))
(setq b2 (subst d c b1))
(entmod b2)
(setq c1 (assoc 6 b2))
(setq d1 (cons (car c1) by))
(setq b3 (subst d1 c1 b2))
(entmod b3)
(setq c2 (assoc 62 b3))
(setq d2 (cons (car c2) 256))
(setq b4 (subst d2 c2 b3))
(entmod b4)
);progn
);if
);repeat
)
;THE END====================================================
현제 이 리습을 가지고있는대 리습 방법이 바꾸고싶은 라인 -> 전체 드래그 한후에 -> 레이어 타입에 대한 고유 라인으로 설정이 되더라구요 여기서 좀더 업그레이드를 해서 고유라인이 아닌 히든라인에 대한 라인타입을 설정된걸로 바꾸고 싶은대 될까싶내요 혹시 아시는분이 있나요?