Message 1 of 13
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
(defun c:BA (/ totalArea)
(setq totalArea 0.0)
(setq searchString "BLT_UP_AREA")
(setq deductString "deduct")
(setq messageText "")
(vlax-for lay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(if (or (wcmatch (vla-get-name lay) (strcat "*" searchString "*"))
(wcmatch (vla-get-name lay) (strcat "*" deductString "*")))
(progn
(setq ss (ssget "X" (list (cons 8 (vla-get-name lay)))))
(if ss
(progn
(setq area 0.0)
(setq i 0)
(while (< i (sslength ss))
(setq ent (ssname ss i))
(setq area (+ area (vla-get-area (vlax-ename->vla-object ent))))
(setq i (1+ i))
)
(setq messageText (strcat messageText "\n Area for '" (vla-get-name lay) "': " (rtos area 2 2)))
(setq totalArea (+ totalArea area))
)
)
)
)
)
(if (> totalArea 0.0)
(progn
(setq messageText (strcat messageText "\n Total Area: " (rtos totalArea 2 2)))
)
(setq messageText (strcat messageText "\n No objects found on layers containing '" searchString "' or '" deductString "'"))
)
(alert messageText)
(princ)
)
Solved! Go to Solution.