This example shows how to create a highlight selection set.
'-------------------------------------------------------------- ' Preconditions: ' 1. Create a VB.NET Windows console project. ' 2. Copy and paste this example into the VB.NET IDE. ' 3. Add a reference to: ' install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll. ' 4. Add a reference to System.Windows.Forms. ' 5. Start DraftSight. ' 6. Press F5. ' ' 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. '-------------------------------------------------------------- Imports System Imports DraftSight.Interop.dsAutomation Imports System.Runtime.InteropServices Imports System.Windows.Forms Module Module1 Sub Main() Dim dsApp As DraftSight.Interop.dsAutomation.Application 'Connect to DraftSight application dsApp = DirectCast(Marshal.GetActiveObject("DraftSight.Application"), DraftSight.Interop.dsAutomation.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 Document = dsApp.GetActiveDocument() If dsDoc Is Nothing Then MessageBox.Show("There are no open documents in DraftSight.") Return End If 'Get Sketch Manager Dim dsSketchMgr As SketchManager = dsDoc.GetModel().GetSketchManager() 'Draw a Circle and Arc Dim dsCircle As Circle = dsSketchMgr.InsertCircle(5.0, 5.0, 0.0, 10.0) Dim dsCircleArc As CircleArc = dsSketchMgr.InsertArc(7.5, 7.5, 0.0, 10.0, 2.5, 5.0) dsApp.Zoom(dsZoomRange_e.dsZoomRange_Bounds, Nothing, Nothing) 'Create highlight selection set Dim dsEntities As DispatchWrapper() = New DispatchWrapper(0) {} dsEntities(0) = New DispatchWrapper(dsCircleArc) Dim dsHighlightSet As HighlightSet = dsDoc.CreateHighlightSet(dsEntities) dsHighlightSet.Highlight = True dsDoc.Rebuild(dsRebuildType_e.dsRebuildType_AllViewports) System.Diagnostics.Debugger.Break() '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_e.dsRebuildType_AllViewports) 'Add Circle to highlight selection set dsEntities.Initialize() dsEntities(0) = New DispatchWrapper(dsCircle) dsHighlightSet.AddEntities(dsEntities) dsHighlightSet.Highlight = True dsDoc.Rebuild(dsRebuildType_e.dsRebuildType_AllViewports) 'Move pointer over the Arc and Circle 'Only the Circle is highlighted End Sub End Module