This example shows how to load and activate LineStyles.
'-------------------------------------------------------------- ' 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 and open a document. ' 5. Start debugging the project. ' ' Postconditions: ' 1. Gets the active document. ' 2. Gets the LineStyle Manager. ' 3. Loads the BATTING and ZIGAG LineStyles. ' 4. Activates and draws a Line for each LineStyle ' loaded in Step 3. '---------------------------------------------------------------- Option Explicit
Sub main()
Dim dsApp As DraftSight.Application
'Connect to DraftSight application Set dsApp = GetObject(, "DraftSight.Application")
'Abort any command currently running in DraftSight 'to avoid nested commands dsApp.AbortRunningCommand
If dsApp Is Nothing Then Return End If
'Get active document Dim dsDoc As DraftSight.Document Set dsDoc = dsApp.GetActiveDocument() If dsDoc Is Nothing Then MsgBox ("There are no open documents in DraftSight.") Return End If
'Get LineStyle manager Dim dsLineStyleMgr As DraftSight.LineStyleManager Set dsLineStyleMgr = dsDoc.GetLineStyleManager()
'Load LineStyles Dim lineStyleFile As String lineStyleFile = "c:\Program Files\Dassault Systemes\DraftSight\Default Files\Linestyles\MM.LIN" Dim dsLineStyle As DraftSight.LineStyle dsLineStyleMgr.LoadLineStyle "BATTING", lineStyleFile, dsLineStyle dsLineStyleMgr.LoadLineStyle "ZIGZAG", lineStyleFile, dsLineStyle
'Get Sketch manager Dim dsSketchMgr As DraftSight.SketchManager Set dsSketchMgr = dsDoc.GetModel().GetSketchManager()
'Activate BATTING LineStyle and insert Line Set dsLineStyle = dsLineStyleMgr.GetLineStyle("BATTING") dsLineStyle.Activate dsSketchMgr.InsertLine 0, 0, 0, 100, 100, 0
'Activate ZIGZAG LineStyle and insert Line Set dsLineStyle = dsLineStyleMgr.GetLineStyle("ZIGZAG") dsLineStyle.Activate dsSketchMgr.InsertLine 100, 0, 0, 200, 100, 0
End Sub