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