ZoomPickWindow Method (ActiveX)

Zooms the current viewport to a window defined by points picked on the screen.

Supported platforms: Windows only

Signature

VBA:

object.ZoomPickWindow
object

Type: Application

The object this method applies to.

Return Value (RetVal)

No return value.

Remarks

This method applies only to the current active viewport (paper space viewport or model space viewport).

Examples

VBA:

Sub Example_ZoomAll()
    ' This example creates several objects in model space and
    ' then performs a variety of zooms on the drawing.

    AppActivate ThisDrawing.Application.Caption

    ' Create a Ray object in model space
    Dim rayObj As AcadRay
    Dim basePoint(0 To 2) As Double
    Dim SecondPoint(0 To 2) As Double
    basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0#
    SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0#
    Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint)
    
    ' Create a polyline object in model space
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 5) As Double
    points(0) = 3: points(1) = 7
    points(2) = 9: points(3) = 2
    points(4) = 3: points(5) = 5
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
    plineObj.Closed = True

    ' Create a line object in model space
    Dim lineObj As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
    endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    
    ' Create a circle object in model space
    Dim circObj As AcadCircle
    Dim centerPt(0 To 2) As Double
    Dim radius As Double
    centerPt(0) = 20: centerPt(1) = 30: centerPt(2) = 0
    radius = 3
    Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius)

    ' Create an ellipse object in model space
    Dim ellObj As AcadEllipse
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
    center(0) = 5#: center(1) = 5#: center(2) = 0#
    majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0#
    radRatio = 0.3
    Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)

' ZoomAll
    MsgBox "Perform a ZoomAll", , "ZoomWindow Example"
    ZoomAll
    
' ZoomWindow
    MsgBox "Perform a ZoomWindow using the following coordinates:" & vbCrLf & _
           "1.3, 7.8, 0" & vbCrLf & _
           "13.7, -2.6, 0", , "ZoomWindow Example"
           
    Dim point1(0 To 2) As Double
    Dim point2(0 To 2) As Double
    point1(0) = 1.3: point1(1) = 7.8: point1(2) = 0
    point2(0) = 13.7: point2(1) = -2.6: point2(2) = 0
    ZoomWindow point1, point2
    
' ZoomScaled
    MsgBox "Perform a ZoomScaled using:" & vbCrLf & _
           "Scale Type: acZoomScaledRelative" & vbCrLf & _
           "Scale Factor: 2", , "ZoomWindow Example"
    Dim scalefactor As Double
    Dim scaletype As Integer
    scalefactor = 2
    scaletype = acZoomScaledRelative
    ZoomScaled scalefactor, scaletype
    
' ZoomExtents
    MsgBox "Perform a ZoomExtents", , "ZoomWindow Example"
    ZoomExtents
    
' ZoomPickWindow
    MsgBox "Perform a ZoomPickWindow", , "ZoomWindow Example"
    ZoomPickWindow
    
' ZoomCenter
    MsgBox "Perform a ZoomCenter using:" & vbCrLf & _
           "Center 3, 3, 0" & vbCrLf & _
           "Magnification: 10", , "ZoomWindow Example"
    Dim zcenter(0 To 2) As Double
    Dim magnification As Double
    zcenter(0) = 3: zcenter(1) = 3: zcenter(2) = 0
    magnification = 10
    zoomcenter zcenter, magnification
   
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ZoomAll()
    ;; This example creates several objects in model space and
    ;; then performs a variety of zooms on the drawing.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq modelSpace (vla-get-ModelSpace doc))

    ;; Create a Ray object in model space
    (setq basePoint (vlax-3d-point 3 3 0)
          secondPoint (vlax-3d-point 1 3 0))
    (setq rayObj (vla-AddRay modelSpace basePoint secondPoint))
    
    ;; Create a polyline object in model space
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 5)))
    (vlax-safearray-fill points '(3 7
                                  9 2
                                  3 5
                                 )
    )
    (setq plineObj (vla-AddLightWeightPolyline modelSpace points))
    (vla-put-Closed plineObj :vlax-true)

    ;; Create a line object in model space
    (setq startPoint (vlax-3d-point 0 0 0)
          endPoint (vlax-3d-point 2 2 0))
    (setq lineObj (vla-AddLine modelSpace startPoint endPoint))
    
    ;; Create a circle object in model space
    (setq centerPt (vlax-3d-point 20 30 0)
          radius 3)
    (setq circObj (vla-AddCircle modelSpace centerPt radius))

    ;; Create an ellipse object in model space
    (setq center (vlax-3d-point 5 5 0)
          majAxis (vlax-3d-point 10 20 0)
          radRatio 0.3)
    (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio))

;; ZoomAll
    (alert "Perform a ZoomAll")
    (vla-ZoomAll acadObj)
    
;; ZoomWindow
    (alert (Strcat "Perform a ZoomWindow using the following coordinates:"
                   "\n1.3, 7.8, 0"
                   "\n13.7, -2.6, 0"))

    (setq point1 (vlax-3d-point 1.3 7.8 0)
          point2 (vlax-3d-point 13.7 -2.6 0))
    (vla-ZoomWindow acadObj point1 point2)
    
;; ZoomScaled
    (alert (strcat "Perform a ZoomScaled using:"
                   "\nScale Type: acZoomScaledRelative"
                   "\nScale Factor: 2"))
    (setq scalefactor 2
          scaletype acZoomScaledRelative)
    (vla-ZoomScaled acadObj scalefactor scaletype)
    
;; ZoomExtents
    (alert "Perform a ZoomExtents")
    (vla-ZoomExtents acadObj)
    
;; ZoomPickWindow
    (alert "Perform a ZoomPickWindow")
    (vla-ZoomPickWindow acadObj)

;; ZoomPrevious
    (alert "Perform a ZoomPrevious")
    (vla-ZoomPrevious acadObj)

;; ZoomCenter
    (alert (strcat "Perform a ZoomCenter using:"
                   "\nCenter 3, 3, 0"
                   "\nMagnification: 10"))

    (setq zcenter (vlax-3d-point 3 3 0)
          magnification 10)
    (vla-ZoomCenter acadObj zcenter magnification)
)