아래 4개의 리습을 사용하면 OSANP이 풀려버리는데
리습에 문제가 있는거 같아서요..ㅜㅜ
도데체 무슨문젠지 알고 싶습니다.. 알고계신분 있으시면 부탁드립니다
일단 이4개의 리습을 발견했는데 아마도 다른 리습도 OSANP이 풀리
는거 같아서 근본적인 해결책을 알고 싶습니다..ㅜㅜ
부탁드려요~
; Change All Text (텍스트를 순차적으로 수정할 수 있는 리습)
(defun C:EAC (/ ss sno st no x)
(setvar “cmdecho” 0)
(princ “n>>> All Text Change Program…..”)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(while (<= 1 sno)
(setq x (ssname ss no))
(if (eq (cdr (assoc 0 (entget x))) “TEXT”)
(progn
(redraw x 3)
(prompt “n>>> New text string <")
(princ (cdr (assoc 1 (entget x))))
(princ “>:”)
(setq st (getstring T ))
(if (= st “”)
(setq st (cdr (assoc 1 (entget x))))
)
(entmod (subst (cons 1 st) (assoc 1
(entget x)) (entget x))
)
(redraw x 4)
)
)
(setq sno (- sno 1))
(setq no (+ no 1))
)
(setvar “cmdecho” 1)
(prin1)
)
;——————————————————————-
;선택한 레이어만 도면상에 남게하는 리습
(defun C:WW (/ cmd ename elist lyr)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(setq ename (car (entsel “n Select an entity :”)))
(while (null ename)
(setq ename (car (entsel “n Select again :”)))
)
(setq elist (entget ename))
(setq lyr (assoc 8 elist))
(command “layer” “set” (cdr lyr) “”)
(command “layer” “off” “*” “” “”)
(prompt (strcat “n Now the current layer is ” (cdr lyr) “.”))
(setvar “cmdecho” cmd)
(prin1)
)
;——————————————————————–
;선택한 레이어만 도면상에서 OFF시키는 리습
(defun c:QQ (/ cmd)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(setq ename (car (entsel “n Select an entity :”)))
(while (null ename)
(setq ename (car (entsel “n Select again :”)))
)
(while (or (null ename)
(equal (cdr (assoc 8 (entget ename))) (getvar “clayer”))
)
(setq ename (car (entsel “n Select another entity :”)))
)
(setq elist (entget ename))
(setq lyr (assoc 8 elist))
(prompt (strcat “n This layer is ” (cdr lyr) “.”))
; (setq test (getstring “n Do you really want this layer off
; (if (or (equal test “Y”) (equal test “y”))
(progn (command “layer” “off” (cdr lyr) “”)
(prompt (strcat “n Now the layer ” (cdr lyr) ” is OFF”))
; )
)
(setvar “cmdecho” cmd)
(prin1)
)
;——————————————————————-
;모든레이어를 ON시키는 리습
(defun C:QW (/ cmd lyr ss test)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(command “layer” “on” “*” “”)
(prompt (strcat “n layer is all ON”))
(setvar “cmdecho” cmd)
(prin1)
)