자료실 Q&A
글 수 2,318
||||
>회사에서 AUTO CAD 2005를 사용하여 설계를 하고있는데,
>매번 사용하는 것만 사용하고, 전에 해오시던 분들도 잘몰라서..
>A라는 글자가 도면에 100개 있다면, 어떻게 몇개 존재하는지 어떻게 찾죠?
>
>문자 찾기리습입니다........//
(defun c:sfn (/ ss ss2 fstr loop ent old1 strlist index findnum)
(princ "\n 객체선택 : ")
(setq ss (ssget (list (cons 0 "text"))))
(if ss
(progn
(setq index 0)
(repeat (sslength ss)
(setq ent (ssname ss index))
(setq old1 (cdr (assoc 1 (entget ent))))
(setq strlist (append strlist (list old1)))
(setq index (1+ index))
)
(setq loop t)
(while loop
(setq fstr (getstring "\n 취소=Enter / 찾을문자 : "))
(if (= fstr "")
(setq loop nil)
(progn
(setq findnum 0)
(mapcar '(lambda (x)
(if (wcmatch x (strcat "*" fstr "*")) (setq findnum (1+ findnum)))
)
strlist
)
(princ (strcat "\n " (rtos findnum 2 0) "개의 문자를 찾았습니다."))
)
)
)
)
)
(princ)
)
>회사에서 AUTO CAD 2005를 사용하여 설계를 하고있는데,
>매번 사용하는 것만 사용하고, 전에 해오시던 분들도 잘몰라서..
>A라는 글자가 도면에 100개 있다면, 어떻게 몇개 존재하는지 어떻게 찾죠?
>
>문자 찾기리습입니다........//
(defun c:sfn (/ ss ss2 fstr loop ent old1 strlist index findnum)
(princ "\n 객체선택 : ")
(setq ss (ssget (list (cons 0 "text"))))
(if ss
(progn
(setq index 0)
(repeat (sslength ss)
(setq ent (ssname ss index))
(setq old1 (cdr (assoc 1 (entget ent))))
(setq strlist (append strlist (list old1)))
(setq index (1+ index))
)
(setq loop t)
(while loop
(setq fstr (getstring "\n 취소=Enter / 찾을문자 : "))
(if (= fstr "")
(setq loop nil)
(progn
(setq findnum 0)
(mapcar '(lambda (x)
(if (wcmatch x (strcat "*" fstr "*")) (setq findnum (1+ findnum)))
)
strlist
)
(princ (strcat "\n " (rtos findnum 2 0) "개의 문자를 찾았습니다."))
)
)
)
)
)
(princ)
)