Set Alternate Drawing Support Files Example (VBA)
This example shows how to set alternate drawing support files.
'-------------------------------------------------------------
' Preconditions:
' 1. Create a VBA macro in a software product in which VBA is
' embedded.
' 2. Copy and paste this example into the Visual Basic IDE.
' 3. Add a reference to the DraftSight type library,
' install_dir\bin\dsAutomation.dll.
' 4. Start DraftSight.
' 5. Press F5
'
' Postconditions:
' 1. Connects to DraftSight.
' 2. Gets active document.
' 3. Gets instance of drawing support files.
' 4. Displays message boxes informing you that these alternate
' font files were set:
' a. Big font file. Click OK.
' b. Shape font file. Click OK.
' c. SHX font file. Click OK.
' d. Drawing template file. Click OK.
' 5. Click Tools > Options > File Locations and expand Drawing Support.
' a. Expand and examine Alternate Font File > SHX font, Big font,
' and Shape file.
' b. Expand and examine Drawing Template File Location.
' 6. Exit DraftSight.
'----------------------------------------------------------------
Option Explicit
Sub main()
Dim dsApp As DraftSight.Application
Dim dsDoc As DraftSight.Document
'Connect to DraftSight
Set dsApp = GetObject(, "DraftSight.Application")
'Abort any command currently running in DraftSight
'to avoid nested commands
dsApp.AbortRunningCommand
'Get active document
Set dsDoc = dsApp.GetActiveDocument()
'Get drawing support files
Dim dsDrawingSupportFiles As DraftSight.DrawingSupportFiles
Set dsDrawingSupportFiles = dsApp.GetDrawingSupportFiles
Dim dsSysFile As DraftSight.SystemFiles
Set dsSysFile = dsApp.GetSystemFiles
Dim FontsPathObj As Variant
FontsPathObj = dsSysFile.FontsPaths
Dim fontPath As String
If Not IsArray(FontsPathObj) Then
MsgBox "No system files."
Exit Sub
Else
fontPath = CStr(FontsPathObj(0))
End If
'Set alternate big font file
Dim fontFileName As String
fontFileName = fontPath & "ARGothE.ttf"
dsDrawingSupportFiles.AlternateBigFontFile = fontFileName
MsgBox "Alternate big font file: " & dsDrawingSupportFiles.AlternateBigFontFile
'Set alternate shape font file
Dim shapeFileName As String
shapeFileName = fontPath & "FC-Iso.shx"
dsDrawingSupportFiles.AlternateShapeFile = shapeFileName
MsgBox "Alternate shape font file: " & dsDrawingSupportFiles.AlternateShapeFile
'Set alternate SHX font file
Dim shxFontFileName As String
shxFontFileName = fontPath & "FC-Iso.shx"
dsDrawingSupportFiles.AlternateShxFontFile = shxFontFileName
MsgBox "Alternate SHX font file: " & dsDrawingSupportFiles.AlternateShxFontFile
'Set alternate drawing template file
Dim templateFilePath As String
templateFilePath = dsApp.GetSystemFiles.GetUserDataPath
Dim drawingTemplateFilePath As String
drawingTemplateFilePath = templateFilePath + "Template\standarddin.dwt"
dsDrawingSupportFiles.DrawingTemplateFilesPath = drawingTemplateFilePath
MsgBox "Alternate drawing template file: " & dsDrawingSupportFiles.DrawingTemplateFilesPath
End Sub