프로그램
캐드 분류

글자 찾기 리습 수정 도와 주세요~

컨텐츠 정보

  • 324 조회
  • 8 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

안녕하세요

아래 리습은 글자 찾기 리습입니다.
글자를 입력하면 그 글자가 포함된 TEXT를  0.0에서 선으로 표시 해주는 리습인데요

아쉬운 부분이 있다면 , MTEXT는 인식을 못하는거 같아요
MTEXT도 인식 할수 있게 변경이 가능한가요??
고수님들의 도움 부탁드립니다.


(defun c:FT()
 (setvar "cmdecho" 0)
 (setq imsi (getvar "clayer"))
 (setq ob (ssget "x" '((0 . "text"))))
 (setq count (sslength ob))
 (setq a5 (getstring T "찾고 싶은 텍스트 전체를 입력해주세요 ==> "))
 (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

관련자료

댓글 8 / 1 페이지

상큼메론90님의 댓글

emoticon

(setq ob (ssget "x" '((0 . "text"))))    <— 이것을

(setq ob (ssget "x" '((0 . "text,mtext"))))   으로 바꾸면 간단히 해결 될 듯..

.

엔씨벤딩님의 댓글

이거 좋은 기능인거 같은데 약간 아쉽네요. 문자내용이 완전히 일치해야만 찾아주는 것 같습니다만…. 찾는 문자가 텍스트의 일부분일 경우에도 검색이 되도록 확장하면  더 좋을 거 같아요 수정 가능하신 분 있으시면 수정 좀 부탁해봅니다.

수야12님의 댓글

 (if (= text2 a5) 이부분을

(if (wcmatch text2(strcat a5 "*")) 이런식으로 바꾸면 됩니다 

엔씨벤딩님의 댓글

리습 수정 감사합니다. VBA모듈 올리는 법은 동영상 만들어서 개인 메일로 보내드릴게요. 이번주는 바쁠거 같고, 다음주 정도에 시간 될 거 같애요. 메일주소 알려주세요.

수야12님의 댓글

감사합니다 쪽지 보내 드렸어요 emoticon

엔씨벤딩님의 댓글

그리고 , 혹시 글자검색할 때 대소문자 구분없이 모두 검색하려면 어떤 코드 추가하면 되나요????

수야12님의 댓글

제가 아는 방법으로는 strcase 함수를 사용 하여 둘다 대문자로 통일 시킵니다

비교문에서 비교 할때
전체 6,983 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0