# 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