프로그램
캐드 분류

재료사이즈 리습을 수정하고싶습니다

컨텐츠 정보

  • 194 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

이곳에서 얻었던건지 정확히 기억은 안나는데 다음과 같은 리습을 사용중입니다.

치수 3가지를 순서대로 찍고 내용을 바꾸고자 하는 텍스트를 선택하면 '숫자 x 숫자 x 숫자'로 변경해 주는 리습인데요.

가로, 세로, 높이 100, 200, 300을 순서대로 찍으면 '100x200x300' 으로 바꿔주는거죠

원하는건 치수값에  텍스트가 붙었으면 하는건데 어느부분을 수정하면 이게 될까요?

이를테면 100, 200, 300을 순서대로 찍으면 '가로100,세로200,높이300' 이런식으로 나오게끔..



;;###########################################################################################
;;######################   재료SIZE /  텍스트는 깨져 있어야함   #############################
;;###########################################################################################
 
(defun c:YY(/ stext ss k ent1 en ed ename tex tex1 tex2 len str n str1 @1 z ed1)
  (prompt "n수식표기하기>> dimension,text,mtext click:")
  (setq stext "" ss nil k 0 ent1 nil)
  (while (= nil ss) (setq ss (ssget (list (cons 0 "dimension,text,mtext"))))
         (if (= nil ss) (prompt "n>>객체를 다시 선택해주세염")))
  (repeat (sslength ss)
    (setq en (ssname ss k)
          ed (entget en) n 1 z 1 @1 nil
          ename (cdr (assoc 0 ed)))
    (cond ((= ename "DIMENSION")
           (setq tex (rtos (cdr (assoc 42 ed)) 2 2)
                 tex1 (cdr (assoc 1 ed))
                 tex2 (substr tex1 1 3))
          (if (or (= tex2 "%%c") (= tex2 "%%C")) (setq tex (strcat "%%c" tex)))
          )


          ((= ename "TEXT")
           (setq tex (cdr (assoc 1 ed))))
;—————————————————————
          ((= ename "MTEXT")
            (setq tex (cdr (assoc 1 ed)))
           (setq len (strlen tex))
           (if (> len 4)
            (progn (setq str (substr tex 1 4))
              (if (or (= str "\A0;") (= str "\A1;") (= str "\A2;"))
                (setq tex (substr tex 5 (- len 4)))
              );if
            );progn
           );if mtext 정렬문자가 있을시 삭제
           (repeat (strlen tex)
            (setq str (substr tex n 1))
            (if (= str "{") (progn
               (cond ((= n 1)
                      (while (= @1 nil)
                       (setq str1 (substr tex z 1))
                       (if (= str1 "\") (progn
                         (setq tex (substr tex 2 (- z 1)))
                         (setq @1 1)
                       )) ;if progn
                       (setq z (1+ z)))  
                     )
                     (t (setq tex (substr tex 1 (- n 1))))
               );cond
            ));if progn
           (setq n (1+ n))
          );repeat
         )
;—————————————————————
    );cond         
    (if (= stext "") (setq stext tex)
        (setq stext (strcat stext " X " tex ))
    );if
    (setq k (1+ k))
  );repeat


 (prompt "n수식표기문자 선택:")
 (while (= ent1 nil) (setq ent1 (ssget (list (cons 0 "text"))))
    (if (= ent1 nil) (prompt "n>>수식표기문자를 다시선택>>:"))
 );while
 (setq ed1 (entget (ssname ent1 0)))
 (entmod (subst (cons 1 stext) (assoc 1 ed1) ed1))



(princ)
);defun

관련자료

댓글 2 / 1 페이지

상큼메론90님의 댓글

emoticon

딤, mtext 를 수식으로 만듦

111.png

이 리습 출처를 찾지못해서, 그냥 숟가락 한번 얹어서~~~찔끔 수정~ (예전에 이런 질문 본적이 있어서, 검색했는데 못찾은건 질문이 삭제된 건가???)

.

그런건없어요님의 댓글

상큼메론90님 감사합니다! 파일 열어서 가로,세로,높이 부분 원하는 텍스트로 바꿔서 적용시켰습니다 좋은하루보내세요!
전체 7,232 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0