GetBoundingBox Method (ActiveX)

Gets two points of a box enclosing the specified object.

Supported platforms: Windows only

Signature

VBA:

object.GetBoundingBox MinPoint, MaxPoint
object

Type: All drawing objects, AttributeReference, Dimension

The objects this method applies to.

MinPoint

Access: Output-only

Type: Variant (three-element array of doubles)

The 3D WCS coordinates specifying the minimum point of the object's bounding box.

MaxPoint

Access: Output-only

Type: Variant (three-element array of doubles)

The 3D WCS coordinates specifying the maximum point of the object's bounding box.

Return Value (RetVal)

No return value.

Remarks

The corners are returned in WCS coordinates with the box edges parallel to the WCS X, Y, and Z axes.



Examples

VBA:

Sub Example_GetBoundingBox()
    ' This example creates a line in model space. It then finds the
    ' bounding box for the line and displays the corners of the box.
    
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    Dim lineObj As AcadLine

    ' Create the Line object in model space
    startPoint(0) = 2#: startPoint(1) = 2#: startPoint(2) = 0#
    endPoint(0) = 4#: endPoint(1) = 4#: endPoint(2) = 0#
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    ZoomAll
    
    Dim minExt As Variant
    Dim maxExt As Variant
    
    ' Return the bounding box for the line and return the minimum
    ' and maximum extents of the box in the minExt and maxExt variables.
    lineObj.GetBoundingBox minExt, maxExt
    
    ' Print the min and max extents
    MsgBox "The extents of the bounding box for the line are:" & vbCrLf _
         & "Min Extent: " & minExt(0) & "," & minExt(1) & "," & minExt(2) _
         & vbCrLf & "Max Extent: " & maxExt(0) & "," & maxExt(1) & "," & maxExt(2), vbInformation, "GetBoundingBox Example"
         
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_GetBoundingBox()
    ;; This example creates a line in model space. It then finds the
    ;; bounding box for the line and displays the corners of the box.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Create the Line object in model space
    (setq startPoint (vlax-3D-point 2 2 0))
    (setq endPoint (vlax-3D-point 4 4 0))
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq lineObj (vla-AddLine modelSpace startPoint endPoint))
    (vla-ZoomAll acadObj)
    
    ;; Return the bounding box for the line and return the minimum
    ;; and maximum extents of the box in the minExt and maxExt variables.
    (vla-GetBoundingBox lineObj 'minExt 'maxExt)
    (setq minExt (vlax-safearray->list minExt)
	         maxExt (vlax-safearray->list maxExt))
  
    ;; Print the min and max extents
    (alert (strcat "The extents of the bounding box for the line are:"
                   "\nMin Extent: " (rtos (nth 0 minExt) 2) "," (rtos (nth 1 minExt) 2) "," (rtos (nth 2 minExt) 2)
                   "\nMax Extent: " (rtos (nth 0 maxExt) 2) "," (rtos (nth 1 maxExt) 2) "," (rtos (nth 2 maxExt) 2)))
)