이건 리습내용이구요
(defun C:TolAdd (/ ss n n1 n2 n3 n4 p new_text)
(SETVAR “CMDECHO” 0)
(prompt “n치수선을 선택하시오:”)
(setq ss (ssget ‘((0 . “DIMENSION”))))
(setq tp (getstring “n ▒↑상한 공차값[±일 때 부호생략] : “))
(setq tm (getstring ” ▒↓하한 공차값[±일 때 부호생략] : “))
(if (= tp tm)
(progn
(setq dim_text (strcat “{H0.6x;S” ” %%P” tp “;}”))
);progn
(progn
(setq dim_text (strcat “{H0.6x;S” ” ” tp “^ ” tm “;}”))
);progn
);if
(if ss
(progn
(setq p 0)
(while (ssname ss p)-
(setq n (ssname ss p)
n1 (entget n)
n2 (assoc 1 n1)
n3 (cdr n2)
p (+ p 1)
)
(if (wcmatch n3 “*%%p*,*%%P*,*S*,*s*”)
(progn
(setq new_text “” n4 “” )
(while (/= n4 “>”)
(setq n4 (substr n3 1 1) n3 (substr n3 2)
new_text (strcat new_text n4)
)
)
)
(progn
(if (= n3 “”)
(setq new_text “<>”)
(setq new_text n3)
)
)
)
(setq n4 (subst (cons 1 (strcat new_text dim_text)) n2 n1))
(entmod n4)
)
)
)
(princ)
);end of defun
;;;***********************************************************************
;;; 공차 지우기
;;;***********************************************************************
(defun c:TolDel(/ ss p n n1 n2 n3 n4 n5 new_text)
(SETVAR “CMDECHO” 0)
(prompt “n치수선을 선택하시오:”)
(setq ss (ssget ‘((0 . “DIMENSION”))))
(if ss
(progn
(setq p 0)
(while (ssname ss p)
(setq n (ssname ss p)
n1 (entget n)
n2 (assoc 1 n1)
n3 (cdr n2)
p (+ p 1)
)
(if (wcmatch n3 “*%%p*,*%%P*,*S*,*s*”)
(progn
(setq new_text “” n4 “” )
(while (/= n4 “>”)
(setq n4 (substr n3 1 1) n3 (substr n3 2)
new_text (strcat new_text n4)
)
)
(setq n5 (subst (cons 1 new_text) n2 n1))
(entmod n5)
)
)
)
)
)
(princ)
);end of defun
toladd라는 치수공차 리습을 받아서 적용 해 보았는데요
스샷과같이 저런 문자들과 함께 출력이 되네요….;;
뭐가 문제이고 어떻게 처리 하면 될지 알려주시면 감사하겠습니다.
공유
“{H0.6x;S” 를 “{\H0.6x;\S” 로 전부 바꾸세요.
와우 님 천재네요 ㅎㅎ 감사합니다