Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
draftsight / opt / dassault-systemes / DraftSight / APISDK / Create_Highlight_Selection_Set_Example_VBA.htm
Size: Mime:
<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.
'
'&nbsp;Postconditions:
'&nbsp;&nbsp;1.&nbsp;Connects&nbsp;to&nbsp;DraftSight.
'&nbsp;&nbsp;2.&nbsp;Gets&nbsp;active&nbsp;document.
'&nbsp;&nbsp;3.&nbsp;Gets&nbsp;Sketch&nbsp;Manager.
'&nbsp;&nbsp;4.&nbsp;Inserts&nbsp;a&nbsp;Circle&nbsp;and&nbsp;an&nbsp;Arc.
'&nbsp;&nbsp;5.&nbsp;Creates&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;highlight&nbsp;selection&nbsp;set.
'&nbsp;&nbsp;6.&nbsp;Adds&nbsp;Arc&nbsp;to&nbsp;the&nbsp;highlight&nbsp;selection&nbsp;set.
'&nbsp;&nbsp;7.&nbsp;Move&nbsp;the&nbsp;pointer&nbsp;over&nbsp;both&nbsp;the&nbsp;Arc&nbsp;and&nbsp;Circle.&nbsp;Only&nbsp;the&nbsp;Arc
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;highlighted. Press F5 to continue.
'&nbsp;&nbsp;8.&nbsp;Removes&nbsp;Arc&nbsp;from&nbsp;highlight&nbsp;selection&nbsp;set.
'&nbsp;&nbsp;9.&nbsp;Adds&nbsp;Circle&nbsp;to&nbsp;highlight&nbsp;selection&nbsp;set.
'&nbsp;10.&nbsp;Move&nbsp;the&nbsp;pointer&nbsp;over&nbsp;both&nbsp;the&nbsp;Arc&nbsp;and&nbsp;Circle.&nbsp;Only
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Circle&nbsp;is&nbsp;highlighted.
'--------------------------------------------------------------
Option Explicit</pre>
<pre>Sub main()</pre>
<pre>        Dim dsApp As DraftSight.Application</pre>
<pre>        'Connect to DraftSight application
        Set dsApp = GetObject(, &quot;DraftSight.Application&quot;)
        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 (&quot;There are no open documents in DraftSight.&quot;)
            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>&nbsp;</p>

</body>

</html>