# Create Rectangular Viewport Example (VB.NET)

This example shows how to create a rectangular Viewport.

    '--------------------------------------------------------------
    ' Preconditions:
    ' 1. Create a VB.NET Windows console project.
    ' 2. Copy and paste this project into the VB.NET IDE.
    ' 3. Add a reference to
    '    install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll
    ' 4. Start DraftSight.
    ' 5. Open the Immediate window.
    ' 6. Press F5.
    '
    ' Postconditions:
    ' 1. A Viewport is created on Sheet2.
    ' 2. Examine the drawing and output printed
    '    to the Immediate window.
    '----------------------------------------------------------------

    Imports DraftSight.Interop.dsAutomation

    Module Module1

        Sub Main()

            Dim dsApp As Application
            Dim dsDoc As Document
            Dim SheetName As String
            Dim dsSheets As Object
            Dim dsSheet As Sheet
            Dim index As Integer
            Dim dsViewport As Viewport
            Dim dsMathUtility As MathUtility
            Dim startCorner As MathPoint
            Dim oppositeCorner As MathPoint
            Dim isClipped As Boolean

            'Connect to DraftSight
            dsApp = GetObject(, "DraftSight.Application")

            'Abort any command currently running in DraftSight
            'to avoid nested commands
            dsApp.AbortRunningCommand()

            'Get active document
            dsDoc = dsApp.GetActiveDocument()
            If Not dsDoc Is Nothing Then

                'Switch to Sheet space and activate Sheet2
                dsSheets = dsDoc.GetSheets
                If IsArray(dsSheets) Then
                    For index = LBound(dsSheets) To UBound(dsSheets)
                        dsSheet = dsSheets(index)
                        'Get sheet name
                        SheetName = dsSheet.Name
                        'Change sheet name, if it is not a model
                        If SheetName <> "Model" Then
                            'Activate sheet
                            dsSheet.Activate()
                        End If
                    Next
                End If

                ' Set the corners for the Viewport
                dsMathUtility = dsApp.GetMathUtility
                startCorner = dsMathUtility.CreatePoint(0, 0, 0)
                oppositeCorner = dsMathUtility.CreatePoint(3, 3, 0)

                'Create a rectangular Viewport
                dsViewport = dsSheet.InsertRectangularViewport(dsStandardViewports_e.dsStandardViewports_1, False, startCorner, oppositeCorner)

                ' Activate and access the rectangular Viewport
                dsViewport.Active = True
                Debug.Print(SheetName & ":")
                Debug.Print("  Viewport:")
                dsViewport.GetIsClipped(isClipped)
                Debug.Print("    Clipped by an entity?       " & isClipped)
                Debug.Print("    Height:                     " & dsViewport.Height)
                Debug.Print("    Width:                      " & dsViewport.Width)
                Debug.Print("    Locked in model workspace?  " & dsViewport.DisplayLocked)
                Debug.Print("    Displayed in graphics area? " & dsViewport.IsOn)
                Debug.Print("    Visible?                    " & dsViewport.Visible)
            Else
                Debug.Print("There are no open documents in DraftSight.")
            End If

        End Sub

    End Module