(defun tt(m / a b l u i p)
(setq a (vla-copy m))
(vla-getboundingbox a 'l 'u)
(setq b (mapcar '* '(0.5 0.5 0.5) (apply 'mapcar (cons '+ (mapcar 'vlax-safearray->list (list l u))))))
(vla-move a (vlax-3d-point b) (vlax-3d-point '(0.0 0.0 0.0)))
(setq b (mapcar '(lambda(x)(mapcar '+ x b))
(progn
(setq i (vlax-invoke a 'intersectwith a acextendnone))
(while (setq p (cons (list (car i) (cadr i) (caddr i)) p) i (cdddr i)))
p)))
(vla-delete a)
b)
(tt (vlax-ename->vla-object(car(entsel))))
可以使用了.