Insert Picture Example (VBA)

This example shows how to insert a picture in a drawing document.

'--------------------------------------------------------------
' 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. Change the path and file name of the picture to insert.
'    NOTE: The picture must be a PNG file.
' 5. Start DraftSight and open a drawing.
' 6. Run the macro.
'
' Postconditions: A message box pops up when the specified picture 
' is inserted in the drawing document.
'--------------------------------------------------------------
Option Explicit

Sub main()

    Dim dsApp As DraftSight.Application
    Dim dsDoc As DraftSight.Document
    Dim dsModel As DraftSight.Model
    Dim dsSketchManager As DraftSight.SketchManager
    Dim dsPicture As DraftSight.ReferenceImage
    Dim imageFileName As String    
    '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()
    If Not dsDoc Is Nothing Then        
        'Get model space
        Set dsModel = dsDoc.GetModel()        
        'Get Sketch Manager
        Set dsSketchManager = dsModel.GetSketchManager()        
        'Replace picture's path and file
        'name with yours
        imageFileName = "c:\test\note.png"        
        'Insert picture
        Set dsPicture = dsSketchManager.InsertPicture(imageFileName, 0#, 0#, 0#, 1#, 0#)        
        If dsPicture Is Nothing Then
            MsgBox imageFileName & " file was not found."
        Else
            MsgBox "A picture was inserted in the drawing."
        End If        
    Else        
        MsgBox "There are no open documents in DraftSight."        
    End If
End Sub