안녕하세요 사회 초년생으로 건설기계설계쪽에서 근무중입니다.
아무래도 큼직큼직한 설계다 보니 특별히 공차가 다양하게
필요할 일이 없습니다. 2~3개 정도만 쓰는지라 아래 파이 넣는 리습을 살짝 변형해서
상황에 맞춰 쓰려고 합니다.
(defun c:Q1
()
(setvar “cmdecho” 0)
(prompt “nSelect text to add pi “)
(setq txt1 (ssget) tl1 (sslength txt1) i1 0)
(while (< i1 tl1)
(setq txt2 (entget (ssname txt1 i1))
kk1 (assoc 1 txt2) kk3 (cdr kk1)
stl (cdr (assoc 7 txt2)) )
(if (= kk3 “”)
(setq sw1 “%%c<>”)
(setq sw1 “%%c”)
)
(setq sss (strcat sw1 kk3)
txt2 (subst (cons 1 sss) kk1 txt2)) (entmod txt2)
(setq i1 (+ 1 i1)) )
(setq t2 nil t1 nil)
(princ))
위의 %%c 대신에 \H0.7x;\S+0.05^+0.02; 를 넣는 식으로요.
그런데 이게 그냥 치수에는 적용이 되는데 샤프트처럼 제가 임의로 파이를 넣어준 치수에는 그냥 파이로 들어가버리더군요. 어떻게 고치면 다른 글자가 포함되더라도 숫자 뒤에 공차가 딱딱 들어가게 할 수 있을까요?
없는 지식에 열심히 구문 해석해보고 고쳐보려고 했는데 뭔 if문이 while문 안에 있고 리스트값을 이리저리 가져오고 난리라서 도저히 단기간에는 이해가 불가능할 것 같습니다. 도와주세요 ㅠ