FIND TEXT LISP 수정 가능한가요? (띄어쓰기는 인식 실패)
컨텐츠 정보
- 1,286 조회
- 3 댓글
- 0 추천
- 0 비추천
- 목록
본문
안녕하세요
아래 LISP은 똑같은 TEXT를 찾아 (0.0) 에서 선으로 TEXT까지 표시해주는 LISP 입니다.
한가지 아쉬운점이 있다면 띄어쓰기된 글자는 인식을 못하는 점인데요
가령 "ABC" 라는 글자를 찾을때 "ABC" 를 입력해서 찾으면 잘 실행이 되는데요
반면 "AB C"라는 글자를 (B와 C사이는 띄어쓰기) 찾을때 "AB C"를 입력할때 오류가 납니다.
스페이스바를 LISP 실행하는걸로 인식하는듯 보이네요
"찾고 싶은 텍스트를 입력해주세요 " 라는 입력시에 스페이스바 말고 엔터키로 실행이 되게 하는 방법이 있을까요?
혹시 띄어쓰기 는 글자로 인식을 못하는건가요?
고수님들의 의견을 여쭙니다
(defun c:ft()
(setvar "cmdecho" 0)
(setq imsi (getvar "clayer"))
(setq ob (ssget "x" '((0 . "text"))))
(setq count (sslength ob))
(setq a5 (getstring "★ 찾고 싶은 텍스트를 입력해주세요 ===> "))
(setq num 0)
(repeat count
(setq name (ssname ob num))
(setq xxlist (entget name))
(progn
(setq enti1 (cdr (assoc -1 xxlist)))
(setq text2 (cdr (assoc 1 xxlist)))
(setq dxy (assoc 10 xxlist))
(setq x (nth 1 dxy))
(setq xx (rtos x))
(setq y (nth 2 dxy))
(setq yy (rtos y))
(setq xy (strcat xx "," yy))
(if (= text2 a5)
(progn
(command "pline" "0,0″ xy "")
);progn
);if
);progn
(setq num (+ num 1))(princ)
);repeat
);end_defun