I have this sub-routine that get the actual bounding box for mtext, but I have to explode it to get it, and I want it to work without commands, and I haven't seen any way to explode it but with a command. I haven't found any way around it, and was wondering if anyone has, or if it can be done another way because the vla-GetBoundingBox seems to only get the box that is picked for the mtext, not the actual extents of the mtext. Thanks Tim ps. Here is the code I'm talking about. (defun GetMtextBB (Obj / LX LY tmpObj tmpEnt tmpList tmpOBj2 tmpLL tmpUR tmpLX tmpLY tmpUX tmpUY) (setq tmpObj (vla-Copy Obj)) (setq tmpEnt (entlast)) (command "_.explode" tmpEnt) (while (setq tmpEnt (entnext tmpEnt)) (setq tmpList (cons tmpEnt tmpList)) ) (foreach Ent tmpList (setq tmpObj2 (vlax-ename->vla-object Ent)) (vla-GetBoundingBox tmpObj2 'tmpLL 'tmpUR) (setq tmpLL (safearray-value tmpLL)) (setq tmpUR (safearray-value tmpUR)) (setq tmpLX (car tmpLL)) (setq tmpLY (cadr tmpLL)) (setq tmpUX (car tmpUR)) (setq tmpUY (cadr tmpUR)) (if LX (if (< tmpLX LX) (setq LX tmpLX) ) (setq LX tmpLX) ) (if LY (if (< tmpLY LY) (setq LY tmpLY) ) (setq LY tmpLY) ) (if UX (if (> tmpUX UX) (setq UX tmpUX) ) (setq UX tmpUX) ) (if UY (if (> tmpUY UY) (setq UY tmpUY) ) (setq UY tmpUY) ) (vla-Delete (vlax-ename->vla-object Ent)) ) (list (list LX LY) (list UX LY) (list UX UY) (list LX UY)) )