Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
draftsight
/
opt
/
dassault-systemes
/
DraftSight
/
APISDK
/
Create_Highlight_Selection_Set_Example_VBA.htm
|
|---|
<html>
<head>
<title>Create Highlight Selection Set Example (VBA)</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
<meta name=MS-HKWD content="VBA examples">
<meta name=MS-HKWD content="VBA examples,highlight selection sets ">
</head>
<body>
<h1>Create Highlight Selection Set Example (VBA)</h1>
<p>This example shows how to create a highlight selection set.</p>
<pre>'--------------------------------------------------------------
' 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,
' <i>install_dir</i><b>\bin\dsAutomation.dll</b>.
' 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</pre>
<pre>Sub main()</pre>
<pre> Dim dsApp As DraftSight.Application</pre>
<pre> 'Connect to DraftSight application
Set dsApp = GetObject(, "DraftSight.Application")
If dsApp Is Nothing Then
Return
End If </pre>
<pre> 'Abort any command currently running in DraftSight
'to avoid nested commands
dsApp.<b>AbortRunningCommand</b> </pre>
<pre> 'Get active document
Dim dsDoc As DraftSight.Document
Set dsDoc = dsApp.<b>GetActiveDocument</b>()
If dsDoc Is Nothing Then
MsgBox ("There are no open documents in DraftSight.")
Return
End If </pre>
<pre> 'Get Sketch Manager
Dim dsSketchMgr As DraftSight.<b>SketchManager</b>
Set dsSketchMgr = dsDoc.GetModel.<b>GetSketchManager</b> </pre>
<pre> 'Construct Circle and Arc
Dim dsCircle As DraftSight.Circle
Dim dsCircleArc As DraftSight.CircleArc
Set dsCircle = dsSketchMgr.<b>InsertCircle</b>(5#, 5#, 0#, 10#)
Set dsCircleArc = dsSketchMgr.<b>InsertArc</b>(7.5, 7.5, 0#, 10#, 2.5, 5#)
dsApp.<b>Zoom</b> dsZoomRange_Bounds, Nothing, Nothing </pre>
<pre> 'Create highlight selection set
Dim dsEntities(1) As Object
Set dsEntities(0) = dsCircleArc </pre>
<pre> Dim dsHighlightSet As DraftSight.HighlightSet
Set dsHighlightSet = dsDoc.<b>CreateHighlightSet</b>(dsEntities)
dsHighlightSet.<b>Highlight</b> = True
dsDoc.<b>Rebuild</b> dsRebuildType_AllViewports </pre>
<pre> Stop
'Move pointer over the Arc and Circle
'Only the Arc is highlighted
'Press F5 to continue </pre>
<pre> 'Remove entities from highlight selection set
dsHighlightSet.<b>RemoveEntities</b> dsEntities
dsDoc.<b>Rebuild</b> dsRebuildType_AllViewports </pre>
<pre> 'Add Circle to highlight selection set
Set dsEntities(0) = Nothing
Set dsEntities(0) = dsCircle
dsHighlightSet.<b>AddEntities</b> dsEntities
dsHighlightSet.<b>Highlight</b> = True
dsDoc.<b>Rebuild</b> dsRebuildType_AllViewports
</pre>
<pre> 'Move pointer over the Arc and Circle
'Only the Circle is highlighted</pre>
<pre>End Sub</pre>
<p> </p>
</body>
</html>