Switch Layouts Example (VB.NET)
This example shows how to switch layouts.
'--------------------------------------------------------------
'Preconditions:
' 1. Create a VB.NET Windows console project.
' 2. Copy and paste this example into the VB.NET IDE.
' 3. Add a reference to:
' install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll.
' 4. Start DraftSight and open a document.
' 5. Start debugging the project.
'
'Postconditions: Message boxes pop up when a model or sheet
'is activated. Read the text in each message box before clicking
'OK to close it.
'----------------------------------------------------------------
Imports DraftSight.Interop.dsAutomation
Module Module1
Sub Main()
Dim dsApp As Application
Dim dsDoc As Document
'Connect to DraftSight
dsApp = GetObject(, "DraftSight.Application")
dsApp.AbortRunningCommand() ' abort any command currently running in DraftSight to avoid nested commands
'Get active document
dsDoc = dsApp.GetActiveDocument()
If Not dsDoc Is Nothing Then
'Activate each layout, one by one
SwitchLayouts(dsDoc)
Else
MsgBox("There are no open documents in DraftSight.")
End If
End Sub
Sub SwitchLayouts(ByVal dsDoc As Document)
Dim dsSheet As Sheet
Dim dsModel As Model
Dim dsVarSheets As Object
Dim index As Integer
Dim sheetName As String
'Get all sheets
dsVarSheets = dsDoc.GetSheets
If IsArray(dsVarSheets) Then
For index = LBound(dsVarSheets) To UBound(dsVarSheets)
dsSheet = dsVarSheets(index)
'Get sheet name
sheetName = dsSheet.Name
'Change sheet name, if it is not a model
If sheetName <> "Model" Then
'Activate sheet
dsSheet.Activate()
'Verify if the sheet was activated
If dsSheet.IsActive Then
MsgBox("The sheet " & sheetName & " was activated.")
End If
Else
'Activate model sheet
dsModel = dsDoc.GetModel
If Not dsModel Is Nothing Then
'Activate model sheet
dsModel.Activate()
'Verify if the sheet was activated
If dsModel.IsActive Then
MsgBox("The model sheet was activated.")
End If
End If
End If
Next
End If
End Sub
End Module