So it appears I did misinterpret your need, since your cross looks like just a crossing of two Lines, not a cross shape in something like a Polyline. I think I was interpreting your use of the word "middle" as meaning the midpoint of something that was already drawn, as well as of the resulting box edge.
In a cross of two Lines as in your latest image, the DrawBoundingBox routine would not do what you want. But it gave me an idea:
;|
DrawBoundingBoxMult.lsp [command name: DBBM]
To Draw the Bounding Box around Multiple objects. Finds overall extent
of object(s) selected, and draws a Rectangle around that collective box.
Kent Cooper, 10 November 2016
|;
(defun C:DBBM (/ ss minpt maxpt eLL eUR LL UR); = Draw Bounding Box, Multiple
(prompt "\nTo Draw the Bounding Box around Multiple objects,")
(if (setq ss (ssget))
(progn ; then
(repeat (setq n (sslength ss))
(vla-getboundingbox (vlax-ename->vla-object (ssname ss (setq n (1- n)))) 'minpt 'maxpt)
(setq
eLL (vlax-safearray->list minpt)
eUR (vlax-safearray->list maxpt)
LL (if LL (mapcar 'min eLL LL) eLL)
UR (if UR (mapcar 'max eUR UR) eUR)
); setq
); repeat
(command "_.rectangle" "_none" LL "_none" UR)
); progn
(prompt "\nNothing selected."); else
); if
(princ)
); defun
(vl-load-com)
(prompt "\nType DBBM to Draw the Bounding Box around Multiple objects.")
That will do what you are after with selection of the two Lines by any method, and at any location on them [or at no location, e.g. inside a window] -- no need to pick on their endpoints, nor to pick two points in any particular order, and it doesn't matter if the Lines do not cross at their midpoints, nor even whether they are perpendicular:

Kent Cooper, AIA