프로그램
캐드 분류

면적을 구해주는 리습인데요. 소수점 셋째 자리수로 나오게 하려면

컨텐츠 정보

  • 716 조회
  • 1 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

면적을 구해주는 리습인데요. 소수점 둘째까지만 나오는데

셋째 자리수로 나오게 하려면 어디부분을 수정해줘야 하나요??
;;===========================================================
;  Quick area(98cho_i)
;  ->pline을 선택하여 화면에 면적을 자동으로 표기(2자리)
;;———————————————————–
(defun c:qa(/  myerror choi d_ts w_os grpt pt1 ent1 en1 ar1 ar2 ar3 ar4 ar5 an arm ht)
;start — Internal error handler ———-
 (defun myerror(S)
 (if (/= s "Function cancelled")(princ (strcat "nError:" s)))
 (setvar "osmode" w_os)
 (setq *error* olderr)(princ) )
 (setq olderr *error* *error* myerror)
;end—————————————-
   (prompt "… 면적구하기")
   (setq choi (getvar "orthomode")  d_ts (getvar "textsize")
            w_os (getvar "osmode") )
   (setvar "orthomode" 0) (setvar "osmode" 0)
   (setq ht d_ts)
   (prompt "nText Height<") (prin1 ht) (prompt ">: ")
   (setq ht (getdist))
   (if (= ht nil) (setq ht d_ts))
;;
   (setq ent1 (entsel  "nPline 선택->"))
   (if (/= ent1 nil)(progn
       (setq en1 (car ent1)) (redraw en1 3)
       (setq grpt (grread T))
       (setq pt1 (cadr grpt))
       (command "area" "e" ent1)
   ))
;-boundary start
   (if (= ent1 nil)(progn
       (prompt "nSelect internal point->")
       (command "boundary" pause "")
       (setq en1 (entlast))(redraw en1 3)
       (command "area" "e" "l")
       (setq pt1 (getvar "lastpoint"))
   ));-boundary end
   (setq ar1 (/ (getvar "area") 1.0e+02))
   (setq ar2 (rtos ar1 2 0))
   (setq an (strlen ar2))
   (setq arm (substr ar2 (- an 1) 1))
   (setq arm (atof arm))
   (setq ar3 (atoi ar2))
   (if (>= arm 5)(progn
       (setq ar3 (+ ar3 100))
   ))
   (setq ar3 (rtos ar3 2 0))
   (setq ar4 (strcat (substr ar3 1 (- an 4)) "." (substr ar3 (- an 3) 2)   ))
   (if (= (substr ar4 1 1) ".") (setq ar4 (strcat "0″ ar4)))
   (setq ar5 (strcat (substr ar2 1 (- an 4)) "." (substr ar2 (- an 3) 3)   ))
   (if (= (substr ar5 1 1) ".") (setq ar5 (strcat "0″ ar5)))
   (command "text" "j" "r" pt1 ht "0″ ar4)
   (prompt "nEnter text point->")
   (command "move" "l" "" pt1 pause)
   (redraw en1 4)
   (setvar "orthomode" choi) (setvar "osmode" w_os)
   (prompt "nArea : ")(prin1 ar5) (prompt "  or  ")(prin1 ar4)
   (prin1)
)

관련자료

댓글 1 / 1 페이지

상큼메론90님의 댓글

emoticon

따뜻한 봄날에 웬 몸살감기???

소숫점 3자리

아래에 표시된 숫자만 바꾸세요. 2를 3으로…

   (setq ar4 (strcat (substr ar3 1 (- an 4)) "." (substr ar3 (- an 3) 3)   ))    (if (= (substr ar4 1 1) ".") (setq ar4 (strcat "0″ ar4)))    (setq ar5 (strcat (substr ar2 1 (- an 4)) "." (substr ar2 (- an 3) 3)   ))    (if (= (substr ar5 1 1) ".") (setq ar5 (strcat "0″ ar5)))

.

전체 7,700 / 359 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0