Hi Mark
Try this one
Change by suit
See POLYAREA.LSP above
Thank you
Fatty
Code:
(defun C:ametr (/ acsp adoc ar osm pt snip)
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(vl-load-com)
(setq adoc (vla-get-activedocument
(vlax-get-acad-object)
)
acsp (vla-get-block
(vla-get-activelayout adoc)
)
)
(vla-startundomark adoc)
(while (setq pt (getpoint "\nPick point inside closed area"))
(command "._-boundary" pt "")
(setq snip (vlax-ename->vla-object (entlast)))
(vla-highlight snip :vlax-true)
(setq ar (vla-get-area snip))
(vla-addtext acsp (rtos (/ ar 10000.) 2 2);change on your units
(vlax-3d-point pt)
(getvar "TEXTSIZE");cnange on your text height
)
(vla-delete snip)
(vlax-release-object snip)
(setq ar_list (cons ar ar_list))
)
(setq summ (apply '+ ar_list))
(setq ps (getpoint "\nPick summ area point "))
(vla-addtext acsp (strcat "%%uSumm area: "
(rtos (/ summ 10000.) 2 2);change on your units
" cnange on your units")
(vlax-3d-point ps) (getvar "TEXTSIZE");cnange on your text height
)
(setvar "osmode" osm)
(vla-endundomark adoc)
(princ)
)