동수아버님 자동 모따기 리습을 구했는데요. 소수점 아래 1자리만 표시하게 될까요?
현재 리습 실행시키면 C3.0000 이런식으로나오는데,
C3.0 이런식으로 나타나게 변경 가능한지 궁금 합니다..
후행 0 억제가 해제되는 현상도이 있습니다ㅜㅜ
(defun c:det (/ dch_sp1 dch_mp2 Now&orthomode)
(prompt “n ** << 모따기 자동 치수 기입 리습 >> **”)
(vl-load-com)
(setq Now&orthomode (getvar “orthomode”))
(vl-cmdf “dimtvp” “1” )
(setvar “dimzin” 0)
(setq Ent (nentsel))
(if (= (length Ent) 2)
(progn
(setq EntityList (entget (car Ent)))
(setq Pt1 (cdr (assoc 10 EntityList)))
(setq Pt2 (cdr (assoc 11 EntityList)))
)
(progn
(setq EntityList (entget (car Ent)))
(setq Pt1 (mcs->wcs (caddr Ent) (cdr (assoc 10 EntityList))))
(setq Pt2 (mcs->wcs (caddr Ent) (cdr (assoc 11 EntityList))))
)
)
(setq DimensionText (strcat “C” (rtos (* (distance Pt1 Pt2) (cos (/ (* 45.0 pi) 180.0))))))
(setq dch_sp1 (midp Pt1 Pt2))
(setvar “orthomode” 0)
(setq dch_mp2 (getpoint dch_sp1 “n Position Point:”))
(counter)
(vl-cmdf “_leader” dch_sp1 dch_mp2 “” “” “” DimensionText “” “”)
(setvar “dimtvp” 0)
(setvar “orthomode” Now&orthomode)
(princ)
)
(defun midp (pint1 pint2)
(setq midpx (/ (+ (car pint1) (car pint2)) 2.0)
midpy (/ (+ (cadr pint1) (cadr pint2)) 2.0)
)
(list midpx midpy)
)
(defun mcs->wcs (matrix edata / point pt1 pt2)
(setq pt1 (+ (* ((eval ‘CAR) (nth 0 matrix))(car edata))
(* ((eval ‘CAR) (nth 1 matrix))(cadr edata))
(* ((eval ‘CAR) (nth 2 matrix))(caddr edata))
(car (nth 3 matrix))))
(setq pt2 (+ (* ((eval ‘CADR) (nth 0 matrix))(car edata))
(* ((eval ‘CADR) (nth 1 matrix))(cadr edata))
(* ((eval ‘CADR) (nth 2 matrix))(caddr edata))
(cadr (nth 3 matrix))))
(setq point (list pt1 pt2))
point
)
(defun counter ( / qty)
(prompt “n☞NowChamfer[“) (prinC DimensionText)
(setq qty (getstring “] Q’ty? <1> : “))
(if (or (= qty “”) (= qty nil) (= qty “0”) (= qty “1”))
(setq DimensionText DimensionText)
(setq DimensionText (strcat qty “-” DimensionText))
)
)
답변 감사합니다 제가 테스트 해봤는데 잘되네요 근데 이것도 마찬가지로 후행 0 억제가 풀려버려서 다시 선형 치수 찍을때 치수가 10으로 나오다가 이리습 사용후 10.00 이 나오네요 .. 방법이 없을까요???
답변 감사합니다 해결 되진 않은거같은데 ㅠㅠ 이대로 써야겠네요 !!! 감사합니다