This example shows how to:
'--------------------------------------------------------------
' 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. Ensure that the file specified to open exists.
' 6. Press F5 and click Step Into to step into the code.
' 7. Press F8 repeatedly to step through the code. Observe
' the changes in the model document and ViewTiles.
'
' Postconditions:
' 1. Opens the specified file.
' 2. Inserts four ViewTiles.
' 3. Iterates through the four ViewTiles. For each ViewTile:
' a. Turns off displaying the coordinate system at the
' the origin.
' b. Specifies to display the coordinate system at the origin.
' c. Turns on displaying the coordinate system at the
' origin.
' 4. Close the model document without saving any changes.
'----------------------------------------------------------------
Option Explicit
Sub main()
'Connect to DraftSight Dim dsApp As DraftSight.Application Set dsApp = GetObject(, "DraftSight.Application") 'Abort any command currently running in DraftSight 'to avoid nested commands dsApp.AbortRunningCommand 'Open document Dim dsDoc As DraftSight.Document Dim docName As String docName = "C:\ProgramData\Dassault Systemes\DraftSight\Examples\A-54643.DWG" Set dsDoc = dsApp.OpenDocument2(docName, dsDocumentOpenOption_e.dsDocumentOpen_Default, dsEncoding_e.dsEncoding_Default) If dsDoc Is Nothing Then MsgBox "There are no open documents in DraftSight." Return End If 'Get active document dsApp.GetActiveDocument
'Get model Dim dsModel As DraftSight.Model Set dsModel = dsDoc.GetModel
'Insert ViewTiles Dim viewTiles As Variant Dim index As Long Dim dsViewTile As DraftSight.ViewTile viewTiles = dsModel.InsertViewTiles(dsViewTilesMode_e.dsViewTilesMode_4_Left, dsViewTilesApplyTo_e.dsViewTilesApplyTo_ActiveViewTile) If IsArray(viewTiles) Then For index = LBound(viewTiles) To UBound(viewTiles) Set dsViewTile = viewTiles(index) 'Turn off displaying coordinate system icon at origin dsViewTile.CSIconIsOn = False If Not (dsViewTile.CSIconIsOn) Then 'Display coordinate system at origin dsViewTile.CSIconAtOrigin = True 'Turn on displaying coordinate system icon at origin dsViewTile.CSIconIsOn = True End If
Next End If
End Sub