프로그램
캐드 분류

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

관련자료

댓글 3 / 1 페이지

수야12님의 댓글

 (setq a5 (getstring "★ 찾고 싶은 텍스트를 입력해주세요 ===> ")) 이부분에

 (setq a5 (getstring T "★ 찾고 싶은 텍스트를 입력해주세요 ===> ")) "T" 추가하시면 됩니다 

장씨형님님의 댓글

추가로 질문드립니다… 위에 lisp에서 mtext 의 글자도 찾게 하는 방법이 있을까요?  (setq ob (ssget "x" '((0 . "text,mtext"))))    <– 이렇게 바꿔도 안되드라구요,, 부탁드립니다..

전체 7,669 / 1 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0