(vl-load-com)
(defun tt (/ selset obj minp maxp err)
(if (vl-catch-all-error-p
(setq err (vl-catch-all-apply
(function
(lambda ()
(if (= (type (setq selset (vl-catch-all-apply
(function
(lambda ()
(ssget)
) ;_ end of lambda
) ;_ end of function
) ;_ end of vl-catch-all-apply
) ;_ end of setq
) ;_ end of type
'pickset
) ;_ end of =
(progn
(setq selset (apply (function append)
(mapcar
(function
(lambda (x / _min _max)
(vla-getboundingbox (vlax-ename->vla-object x) '_min '_max)
(mapcar (function vlax-safearray->list) (list _min _max))
) ;_ end of lambda
) ;_ end of function
((lambda (/ tab item)
(repeat (setq tab nil
item (sslength selset)
) ;_ end setq
(setq tab (cons (ssname selset (setq item (1- item))) tab))
) ;_ end of repeat
tab
) ;_ end of lambda
)
) ;_ end of mapcar
) ;_ end of apply
minp (list (apply (function min) (mapcar (function car) selset))
(apply (function min) (mapcar (function cadr) selset))
(apply (function min) (mapcar (function caddr) selset))
) ;_ end of list
maxp (list (apply (function max) (mapcar (function car) selset))
(apply (function max) (mapcar (function cadr) selset))
(apply (function max) (mapcar (function caddr) selset))
) ;_ end of list
obj (vla-addbox
(vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
(vlax-3d-point (mapcar (function (lambda (a b) (* 0.5 (+ a b)))) minp maxp))
(+ (apply (function -) (mapcar (function car) (list maxp minp))) );50)
(+ (apply (function -) (mapcar (function cadr) (list maxp minp))) );50)
(+ (apply (function -) (mapcar (function caddr) (list maxp minp))) );25)
) ;_ end of vla-AddBox
) ;_ end of setq
(vla-put-color obj 1)
) ;_ end of progn
) ;_ end of if
) ;_ end of lambda
) ;_ end of function
) ;_ end of VL-CATCH-ALL-APPLY
) ;_ end of setq
) ;_ end of VL-CATCH-ALL-ERROR-P
(progn
(setq obj nil)
(princ (strcat "\nError : " (vl-catch-all-error-message err)))
) ;_ end of progn
) ;_ end of if
obj
) ;_ end of defun