This example shows how to create a highlight selection set.
'-------------------------------------------------------------- ' 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. Run the macro. ' ' Postconditions: ' 1. Connects to DraftSight. ' 2. Gets active document. ' 3. Gets Sketch Manager. ' 4. Inserts a Circle and an Arc. ' 5. Creates an instance of a highlight selection set. ' 6. Adds Arc to the highlight selection set. ' 7. Move the pointer over both the Arc and Circle. Only the Arc ' is highlighted. Press F5 to continue. ' 8. Removes Arc from highlight selection set. ' 9. Adds Circle to highlight selection set. ' 10. Move the pointer over both the Arc and Circle. Only ' the Circle is highlighted. '-------------------------------------------------------------- Option Explicit
Sub main()
Dim dsApp As DraftSight.Application
'Connect to DraftSight application Set dsApp = GetObject(, "DraftSight.Application") If dsApp Is Nothing Then Return End If
'Abort any command currently running in DraftSight 'to avoid nested commands dsApp.AbortRunningCommand
'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 Sketch Manager Dim dsSketchMgr As DraftSight.SketchManager Set dsSketchMgr = dsDoc.GetModel.GetSketchManager
'Construct Circle and Arc Dim dsCircle As DraftSight.Circle Dim dsCircleArc As DraftSight.CircleArc Set dsCircle = dsSketchMgr.InsertCircle(5#, 5#, 0#, 10#) Set dsCircleArc = dsSketchMgr.InsertArc(7.5, 7.5, 0#, 10#, 2.5, 5#) dsApp.Zoom dsZoomRange_Bounds, Nothing, Nothing
'Create highlight selection set Dim dsEntities(1) As Object Set dsEntities(0) = dsCircleArc
Dim dsHighlightSet As DraftSight.HighlightSet Set dsHighlightSet = dsDoc.CreateHighlightSet(dsEntities) dsHighlightSet.Highlight = True dsDoc.Rebuild dsRebuildType_AllViewports
Stop 'Move pointer over the Arc and Circle 'Only the Arc is highlighted 'Press F5 to continue
'Remove entities from highlight selection set dsHighlightSet.RemoveEntities dsEntities dsDoc.Rebuild dsRebuildType_AllViewports
'Add Circle to highlight selection set Set dsEntities(0) = Nothing Set dsEntities(0) = dsCircle dsHighlightSet.AddEntities dsEntities dsHighlightSet.Highlight = True dsDoc.Rebuild dsRebuildType_AllViewports
'Move pointer over the Arc and Circle 'Only the Circle is highlighted
End Sub