Set and Get System Files Example (C#)

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

//--------------------------------------------------------------
// 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 references to System and System.Windows.Forms.
// 5. Start DraftSight.
// 6. Open the Immediate window.
// 7. Press F5 to debug the project.
//
// 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.

//----------------------------------------------------------------

using DraftSight.Interop.dsAutomation;
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Diagnostics;
 
static class Module1
{
    public static void Main()
	{
		DraftSight.Interop.dsAutomation.Application dsApp;
		SystemFiles dsSystemFiles = default(SystemFiles);
		string[] setFontPaths = new string[2];
		string[] setSupportPaths = new string[3];
		object[] getFontPaths = null;
		object[] getSupportPaths = null;
		int i = 0;
 
		//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 system files
		dsSystemFiles = dsApp.GetSystemFiles();
 
		//Set system files
		setFontPaths[0] = "C:\\Dassault Systemes\\ProgramData\\DraftSight\\TextFonts";
		setFontPaths[1] = "C:\\Dassault Systemes\\ProgramData\\DraftSight\\TablesFonts";
		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";
		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; i < getFontPaths.Length; i++) {
			Debug.Print("                                        " + getFontPaths[i]);
		}
 
		getSupportPaths = dsSystemFiles.SupportPaths;
		Debug.Print("  Support paths: ");
		for (i = 0; i < getSupportPaths.Length; i++) {
			Debug.Print("                                        " + getSupportPaths[i]);
		}
	}
}