프로그램
캐드 분류

면적구하는 리습 m2로 표시하고싶습니다.

컨텐츠 정보

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

본문

리습 파일이 아래와 같은데 mm단위를 m2으로 나타내고 싶습니다.
어느부분을 수정해야 하는기 알고싶습니다.
(defun c:aa3 ( / ss index asum e obj tmparea msp spt txtobj )
  (if (setq ss (ssget (list (cons 0 "CIRCLE,ARC,LWPOLYLINE,ELLIPSE,SPLINE"))))
    (progn
      (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
      (setq index 0 asum 0)
      (repeat (sslength ss)
(setq e (ssname ss index))
(setq obj (vlax-ename->vla-object e))
(setq tmparea (vla-get-area obj))
(setq asum (+ asum tmparea))
(setq index (1+ index))
      )
      (prompt (strcat "n총 면적 = " (rtos asum 2 4)))
      (initget 1)
      (setq spt (getpoint "n문자시작점: "))
      (setq txtobj (vla-addtext msp (rtos asum 2 4) (vlax-3d-point spt) (getvar "textsize")))
    )
  )
  (princ)
)
(vl-load-com)
(prompt "n[ ASUM ]")
(princ)

관련자료

댓글 1 / 1 페이지

자유천지님의 댓글

 (prompt (strcat "n총 면적 = " (rtos asum 2 4))) => 요거 윗줄에

(setq asum (* asum 0.000001)) 또는  (setq asum (/ asum 1000000.0)) 을 추가하시면  (prompt (strcat "n총 면적 = " (rtos asum 2 4)))  이 되겠죠… 1M = 1000mm 이니까 1M^2 = 1000x1000mm^2 그러니까 (/ asum 1000000.0) 이나 (* asum 0.000001) 나누기 "/"을 사용할때는 1000000 이 아니라 1000000.0으로하셔야됩

전체 6,913 / 1 페이지
번호
제목
이름
알림 0