리습 횡단 용지폭 만드는 소스인데요..
좌 우 숫자 입력시 예를들어 18.99, 11.6 이렇게 입력하면
도면에 표시되는 숫자가 반올림 되어 소수점 첫재짜리 밖에 안나옵니다.
반올림 하지말고 그대로 소수점 두재짜리 까지 나오게 수정 부탁드리겠습니다.
——————————————————————————————————-
(defun c:p0 ()
(if (/= htext3 nil)
(command “style” “횡단글꼴” “romans.shx,ghs.shx” htext3 “” “” “” “”)
(progn
(setq he1 (getreal “n글자의 높이는 : 재입력 / <1.5> — “))
(if (null he1)(setq htext3 1.5)(setq htext3 he1))
(command “style” “횡단글꼴” “romans.shx,ghs.shx” htext3 “” “” “” “”)
)
)
(setq osm1 (getvar “osmode”))
(setq lay1 (getvar “clayer”))
(setq distold1 0)
(setq distold2 0)
(setvar “osmode” 2)
(setq roop1 1)
(setq end-l nil)
(setq end-r nil)
(setq end-lold nil)
(setq end-rold nil)
(while roop1
(initget 128 “End”)
(princ “nn=====================================================”)
(setq mid1 (getpoint (strcat “n종료(E) / Pick Mid Point ==> “)))
(cond ((= mid1 “End”)
(setq roop1 nil)
)
((= mid1 nil)
)
(t
(setvar “osmode” 1)
(setq to1 (getpoint “n End Point (진행방향으로 좌측)==> “))
(setvar “osmode” 0)
(setq ang1 (angle mid1 to1))
(grdraw (polar mid1 ang1 20) (polar mid1 (+ ang1 pi) 20) 2 1)
(setq dist1 (getreal (strcat “n Input Left Dist <” (rtos distold1 2 1) “> : “)))
(if (= dist1 nil)
(setq dist1 distold1)
)
(setq dist2 (getreal (strcat “n Input Right Dist <” (rtos distold2 2 1) “> : “)))
(if (= dist2 nil)
(setq dist2 distold2)
)
(setq distold1 dist1)
(setq distold2 dist2)
(command “-LAYER” “m” “지적-용지폭-횡단” “”)
(command “line” (polar mid1 ang1 dist1) mid1 (polar mid1 (+ ang1 pi) dist2) “”)
(setq end-l (polar mid1 ang1 dist1))
(setq end-r (polar mid1 (+ ang1 pi) dist2))
(command “-LAYER” “m” “지적-용지폭-횡단거리” “”)
(command “text” “j” “mc” (polar mid1 ang1 (+ dist1 3)) (* (+ ang1 pi) (/ 180 PI)) (rtos dist1 2 1))
(command “text” “j” “mc” (polar mid1 (+ ang1 pi) (+ dist2 3)) (* (+ ang1 pi) (/ 180 PI)) (rtos dist2 2 1))
(command “-LAYER” “m” “지적-용지폭-용지경계” “”)
(if end-lold (command “line” end-lold end-l “”))
(if end-rold (command “line” end-rold end-r “”))
(setq end-lold end-l)
(setq end-rold end-r)
(command “redraw”)
(setvar “osmode” 2)
);;; t
);;; cond
);;;while
(setvar “osmode” osm1)
(setvar “clayer” lay1)
(command “redraw”)
(princ)
)
(rtos dist1 2 1)) => (rtos dist1 2 2))
(rtos dist2 2 1) => (rtos dist2 2 2)
(rtos distold1 2 1) => (rtos distold1 2 2)
(rtos distold2 2 1) => (rtos distold2 2 2)