바운다리로 면적을 잡는 리습인데 이걸 쓰니 편하더군요 그런데
이건 mm 단위로 계산되고 단위 표시도 없네요(읽기가 넘어려움).
m2로 계산되고 단위도 소수점 한자리까지 나오면서 m2도 표현이 가능하게 수정 부탁 드려요 ㅜㅜ
;***************************************************************
; A1 -> BPOLY를 이용하여 폐합된 면적을 미터제곱단위로 적어줍니다.(글자크기2.5)
; AZ1 -> BPOLY를 이용하여 폐합된 면적을 평단위로 적어줍니다.
; PLUS -> 적어진 면적을 더해줍니다.
; (수치를 선택할때는 w, c, f, wc, wp, filter를 이용가능)
; —- 누구든 맘껏 사용하세요
; —- 안윤영 1997. 9.10
;***************************************************************
(defun C:A1 (/ pt1 a1 a2 a3)
; (command “LAYER” “N” “AREA” “”)
(setq pt1 (getpoint “Pick a text location : “))
(command “BPOLY” pt1 “”)
(setq a1 (command “AREA” “E” “l”))
(setq a2 (getvar “area”))
(setq a3 (rtos a2 2 1))
(command “ERASE” “l” “”)
; (setq py (* 0.3025 a2)) ;단위를 평으로 할경우
; (setq py1 (rtos py 2 2))
; (setq pt2 (list (car pt1) (- (cadr pt1) 12)))
(command “TEXT” pt1 “400” “” a3)
; (command “TEXT” pt2 “400” “” py1)
(command “BOUNDARY” PT1 “A” “O” “R” “” “”)
)
;====================================================
(defun C:AZ1 (/ pt1 a1 a2 py1)
; (command “LAYER” “N” “AREA” “”)
(setq pt1 (getpoint “Pick a text location : “))
(command “BPOLY” pt1 “”)
(setq a1 (command “AREA” “E” “l”))
(setq a2 (getvar “area”))
(setq py (* 0.3025 a2))
(setq py1 (rtos py 2 2))
(command “ERASE” “l” “”)
(command “TEXT” pt1 “400” “” py1)
)
;===================================================
(defun C:PLUS (/ ent ct anx an snum slen e ee x ol nl ent2)
(command “LAYER” “N” “AREA” “”)
(prompt “nPick numbers to add :”)
(setq ent (ssget))
(setq ct 0 anx 0 an 0)
(setq snum (ssname ent ct))
(setq slen (sslength ent))
(while (<= (+ 1 ct) slen)
(setq snum (ssname ent ct))
(setq e (entget snum))
(setq ee (cdr (assoc 1 e)))
(setq x (atof ee))
(setq ol (assoc 8 e))
(setq nl (cons 8 “ADDNUM”))
(setq ent2 (subst nl ol e))
(entmod ent2)
(setq anx (+ an x))
(setq an anx)
(setq ct (+ 1 ct))
)
(setq tot (rtos anx 2 1))
(setq pt1 (getpoint “Pick a text location : “))
(command “TEXT” pt1 “20” “” tot)
; (princ “nTotal = “)(princ tot)(princ)
)