Load and Activate LineStyles Example (VB.NET)
This example shows how to load and activate LineStyles.
'--------------------------------------------------------------
' 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. Add references to System and System.Windows.Forms.
' 5. Start DraftSight and open a document.
' 6. Start debugging the project.
'
' Postconditions:
' 1. Gets the active document.
' 2. Gets the LineStyle Manager.
' 3. Loads the BATTING and ZIGAG LineStyles.
' 4. Activates and draws a Line for each LineStyle
' loaded in Step 3.
'----------------------------------------------------------------
Imports DraftSight.Interop.dsAutomation
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Imports System
Module Module1
Sub Main()
Dim dsApp As DraftSight.Interop.dsAutomation.Application
'Connect to DraftSight application
dsApp = DirectCast(Marshal.GetActiveObject("DraftSight.Application"), DraftSight.Interop.dsAutomation.Application)
' Abort any command currently running in DraftSight to avoid nested commands
dsApp.AbortRunningCommand()
If dsApp Is Nothing Then
Return
End If
'Get active document
Dim dsDoc As Document = dsApp.GetActiveDocument()
If dsDoc Is Nothing Then
MessageBox.Show("There are no open documents in DraftSight.")
Return
End If
'Get LineStyle manager
Dim dsLineStyleMgr As LineStyleManager = dsDoc.GetLineStyleManager()
'Load LineStyles
Dim lineStyleFilePath As String = System.IO.Path.Combine(dsApp.GetSystemFiles().GetUserDataPath(), "Linestyles")
Dim lineStyleFile As String = System.IO.Path.Combine(lineStyleFilePath, "MM.LIN")
Dim dsLineStyle As LineStyle = Nothing
dsLineStyleMgr.LoadLineStyle("BATTING", lineStyleFile, dsLineStyle)
dsLineStyleMgr.LoadLineStyle("ZIGZAG", lineStyleFile, dsLineStyle)
'Get Sketch manager
Dim dsSketchMgr As SketchManager = dsDoc.GetModel().GetSketchManager()
'Activate BATTING LineStyle and insert Line
dsLineStyle = dsLineStyleMgr.GetLineStyle("BATTING")
dsLineStyle.Activate()
dsSketchMgr.InsertLine(0, 0, 0, 100, 100, 0)
'Activate ZIGZAG LineStyle and insert Line
dsLineStyle = dsLineStyleMgr.GetLineStyle("ZIGZAG")
dsLineStyle.Activate()
dsSketchMgr.InsertLine(100, 0, 0, 200, 100, 0)
End Sub
End Module