This example shows how to create a rectangular Viewport.
//--------------------------------------------------------------
// Preconditions:
// 1. Create a C# Windows console project.
// 2. Copy and paste this example into the C# IDE.
// 3. Add a reference to:
// install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll
// 4. Add a reference to System.
// 5. Start DraftSight.
// 6. Open the Immediate window.
// 7. Press F5 to debug the project.
//
// Postconditions:
// 1. A Viewport is created on Sheet2.
// 2. Examine the drawing and output printed
// to the Immediate window.
//----------------------------------------------------------------
using System; using System.Diagnostics; using System.Runtime.InteropServices; using DraftSight.Interop.dsAutomation; static class Module1 { public static void Main() { DraftSight.Interop.dsAutomation.Application dsApp; Document dsDoc = default(Document); string SheetName = null; object[] dsSheets = null; Sheet dsSheet = default(Sheet); int index = 0; Viewport dsViewport = default(Viewport); MathUtility dsMathUtility = default(MathUtility); MathPoint startCorner = default(MathPoint); MathPoint oppositeCorner = default(MathPoint); bool isClipped = false; //Connect to DraftSight dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application"); //Abort any command currently running in DraftSight //to avoid nested commands dsApp.AbortRunningCommand(); //Get active document dsDoc = dsApp.GetActiveDocument(); if ((dsDoc != null)) { //Switch to Sheet space and activate Sheet2 dsSheets = (object[])dsDoc.GetSheets(); if (dsSheets is System.Array) { for (index = 0; index < dsSheets.Length; index++) { dsSheet = (Sheet)dsSheets[index]; //Get sheet name SheetName = dsSheet.Name; //Change sheet name, if it is not a model if (SheetName != "Model") { //Activate sheet dsSheet.Activate(); } } } // 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(out 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."); } } }