Total Area Autocad Lisp High Quality [LATEST]

This routine links the total area to a FIELD or RTEXT so that if you stretch a polyline, the total updates automatically (requires advanced Visual LISP using reactors).

(repeat (setq i (sslength ss)) ... )

(princ "\n========================================") total area autocad lisp

(defun c:TOTALAREA (/ ss count total i obj) (setq ss (ssget '((0 . "CIRCLE,HATCH,POLYLINE,LWPOLYLINE")))) (setq total 0.0) (if ss (progn (setq count (sslength ss)) (setq i 0) (while (< i count) (setq obj (vlax-ename->vla-object (ssname ss i))) (setq total (+ total (vla-get-area obj))) (setq i (1+ i)) ) (alert (strcat "Total Area of " (itoa count) " objects is: " (rtos total 2 2))) (princ (strcat "\nTotal Area: " (rtos total 2 2))) ) (princ "\nNo valid objects selected.") ) (princ) ) (vl-load-com) Use code with caution. How to Install and Run the Script above into Notepad. This routine links the total area to a

;; Calculate area based on object type (cond ;; For objects with direct Area property ((member obj-name '("CIRCLE" "ELLIPSE" "HATCH" "LWPOLYLINE" "POLYLINE" "REGION" "SPLINE")) (command "._AREA" "_O" obj) (setq area (getvar "AREA")) (if (> area 0) (progn (setq total-area (+ total-area area)) (setq obj-list (cons (list obj-name area) obj-list)) ) ) ) "CIRCLE,HATCH,POLYLINE,LWPOLYLINE")))) (setq total 0