프로그램
캐드 분류

면적 캐드 리습입니다 (면적이 커지면 오류나네요)

컨텐츠 정보

  • 193 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

면적 리습입니다 면적이 좀 커지면 (2만 이상정도 )  -2147.4835, 21474.835 이런식으로 나와버립니다

뭐가 문제인가요?

캐드 상에 보면 arer 000.000 or -2147.4835 이렇게 보이는데 첫번째 000.000에 면적이 제대로 잡히는데
텍스트 표시에는 두번째 -2147.4835 이게 표시 돼버리네요
어딜 수정해야 하나요?
;;=======================================================================;;
;  Quick Area 3                                                           ;
;  -> pline, 또는 내부를 선택하여 면적 표기 (소숫점 3자리구하기 – 4사5입) ;
;;———————————————————————–;;
(defun c:qq(/ choi d_ts w_os grpt pt1 ent1 en1 ar1 ar2 ar3 ar4 ar5 an arm ht)
   (prompt "…면적구하기")
   (setq choi (getvar "orthomode")  d_ts (getvar "textsize")
            w_os (getvar "osmode") )
   (setvar "orthomode" 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") 10))
   (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 5)) "." (substr ar3 (- an 4) 4)   ))
   (if (= (substr ar4 1 1) ".") (setq ar4 (strcat "0″ ar4)))
   (setq ar5 (strcat (substr ar2 1 (- an 5)) "." (substr ar2 (- an 4) 5)   ))
   (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)
   (prompt "nArea : ")(prin1 ar5) (prompt "  or  ")(prin1 ar4)(terpri)
   (setvar "orthomode" choi) (setvar "osmode" w_os)
   (prin1)
)




관련자료

댓글 2

상큼메론90님의 댓글

emoticon

   (command "text" "j" "r" pt1 ht "0″ ar4)  <— 이것을    (command "text" "j" "r" pt1 ht "0″ ar5)  <— 로 수정

.

여분필드1 여분필드2 여분필드3
전체 7,152 / 1 페이지
번호
제목
이름
알림 0