리습 파일이 아래와 같은데 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)
(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으로하셔야됩