# Set and Get System Files Example (VB.NET)

This example shows how to set and get the paths and file names of DraftSight system files.

    '--------------------------------------------------------------
    ' 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. The paths to the DraftSight support and font files are set.
    ' 2. The paths and names of the DraftSight system files are printed
    '    to the Immediate window.
    '----------------------------------------------------------------

    Imports DraftSight.Interop.dsAutomation

    Module Module1

        Sub Main()

            Dim dsApp As Application
            Dim dsSystemFiles As SystemFiles
            Dim setFontPaths(1) As String
            Dim setSupportPaths(2) As String
            Dim getFontPaths As Object
            Dim getSupportPaths As Object
            Dim i As Integer
            Dim arraySizeFonts As Long
            Dim arraySizeSupport As Long

            'Connect to DraftSight
            dsApp = GetObject(, "DraftSight.Application")

            'Abort any command currently running in DraftSight
            'to avoid nested commands
            dsApp.AbortRunningCommand()

            'Get system files
            dsSystemFiles = dsApp.GetSystemFiles

            'Set system files
            setFontPaths(0) = "C:\Dassault Systemes\ProgramData\DraftSight\TextFonts"
            setFontPaths(1) = "C:\Dassault Systemes\ProgramData\DraftSight\TablesFonts"
            arraySizeFonts = UBound(setFontPaths)
            dsSystemFiles.FontsPaths = setFontPaths

            setSupportPaths(0) = "C:\Dassault Systemes\ProgramData\DraftSight\SupportPathAddins"
            setSupportPaths(1) = "C:\Dassault Systemes\ProgramData\DraftSight\SupportPathCustomFiles"
            setSupportPaths(2) = "C:\Dassault Systemes\ProgramData\DraftSight\DrawingFiles"
            arraySizeSupport = UBound(setSupportPaths)
            dsSystemFiles.supportPaths = setSupportPaths

            Debug.Print("System files:")
            Debug.Print("  Help file:                            " & dsSystemFiles.HelpFile)
            Debug.Print("  Logfile path:                         " & dsSystemFiles.LogFilePath)
            Debug.Print("  Dictionary file for SpellCheck:       " & dsSystemFiles.MainDictionaryFile)
            Debug.Print("  Custom dictionary file:               " & dsSystemFiles.CustomDictionaryFile)
            Debug.Print("  Location for temporary drawing files: " & dsSystemFiles.TempPath)

            getFontPaths = dsSystemFiles.FontsPaths
            Debug.Print("  Font paths: ")
            For i = 0 To arraySizeFonts
                Debug.Print("                                        " & getFontPaths(i))
            Next i

            getSupportPaths = dsSystemFiles.supportPaths
            Debug.Print("  Support paths: ")
            For i = 0 To arraySizeSupport
                Debug.Print("                                        " & getSupportPaths(i))
            Next i

        End Sub

    End Module