누군가 쓰시던거 그대로인데.. 무엇을수정하면 스케일과 소숫점 자릿수를 정할수 있는지.. 무조건 소숫점 둘째자리(혹 0이라는숫자가 나오더라도) 첫째자리로 반올림 될수있게 할수 있는지 좀 가르쳐 주시면 고맙겠습니다..
(DEFUN C:1 ( / a b c d e ss)
(setq ac nil ara 0 a1 nil)
(redraw)
(setvar “CMDECHO” 0)
(setvar “aperture” 5)
(command “osnap” “none”)
(graphscr)
(setq pt (getpoint “nStrikes Point :”))
(while (/= pt nil)
(setq ss (bpoly pt))
(if(/= ss nil)
(progn
(setq aa (entlast))
(command “area” “e” aa)
(setq ara (+ (getvar “area”) ara))
(princ “n Total Area = “)
(princ ara)
(princ “n”)
(redraw aa 3)
(setq aa1 (list aa) a1 (append a1 aa1))
)
(princ “n Point is outside of Boundary”)
)
(setq pt (getpoint “nStrikes Point :”))
)
(setq ln1 (length a1))
(if (> ln1 0)
(progn
(foreach nn a1
(progn
(entdel nn)
)
) ;endfor
)
)
(redraw)
(command “osnap” “none”)
(prompt “nSelect text to edit?: “)
(setq a (ssget))
(setq b (sslength a))
(setq c 0)
(while (<= 1 b)
(setq d (ssname a c))
(if (eq (cdr (assoc 0 (entget d))) “TEXT”)
(progn
(redraw d 3)
; (prompt “nNew text string <")
; (princ (cdr (assoc 1 (entget d))))
; (princ “>:”)
(setq ara (/ ara 1.0))
(setq e (rtos ara 2 1))
(if (= e “”)
(setq e (cdr (assoc 1 (entget d))))
)
(entmod (subst (cons 1 e) (assoc 1 (entget d)) (entget d)))
(redraw d 4)
)
)
(setq b (- b 1))
(setq c (+ c 1))
)
(princ)
(command “osnap” “INT,END”)
)
든갖비Lv.0
면적구하는리습인데요..
공유