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_and_Change_EntityGroups_Example_VBNET.htm
Size: Mime:
<html>

<head>
<title>Create and Change EntityGroups Example (VB.NET)</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="VB.NET examples">
<meta name=MS-HKWD content="VB.NET examples,EntityGroups">
<meta name=MS-HKWD content="VB.NET examples,groups">

</head>


<body>
<h1> Create and Change EntityGroups Example (VB.NET)</h1>
<p>This example shows how to create and change EntityGroups.</p>
<pre style="font-family: Consolas; font-size: 13; color: black; background: white"><span style="color:green;">'--------------------------------------------------------------</span>
<span style="color:green;">'&nbsp;Preconditions:</span>
<span style="color:green;">'&nbsp;1.&nbsp;Create&nbsp;a&nbsp;VB.NET&nbsp;Windows&nbsp;console&nbsp;project.</span>
<span style="color:green;">'&nbsp;2.&nbsp;Copy&nbsp;and&nbsp;paste&nbsp;this&nbsp;example&nbsp;into&nbsp;the&nbsp;VB.NET&nbsp;IDE.</span>
<span style="color:green;">'&nbsp;3.&nbsp;Add&nbsp;a&nbsp;reference&nbsp;to:</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;<i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.</span>
<span style="color:green;">'&nbsp;4.&nbsp;Add&nbsp;references&nbsp;to&nbsp;<b>System</b>&nbsp;and&nbsp;<b>System.Windows.Forms</b>.</span>
<span style="color:green;">'&nbsp;5.&nbsp;Start&nbsp;DraftSight&nbsp;and&nbsp;open&nbsp;a&nbsp;document.</span>
<span style="color:green;">'&nbsp;6.&nbsp;Start&nbsp;debugging&nbsp;the&nbsp;project.</span>
<span style="color:green;">'</span>
<span style="color:green;">'&nbsp;Postconditions:&nbsp;</span>
<span style="color:green;">' 1.&nbsp;Inserts&nbsp;entities,&nbsp;two&nbsp;lines&nbsp;and&nbsp;two&nbsp;circles,&nbsp;in&nbsp;the&nbsp;drawing.</span>
<span style="color:green;">' 2.&nbsp;Creates&nbsp;two&nbsp;EntityGroups:</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;SampleGroup1&nbsp;contains&nbsp;two&nbsp;lines,&nbsp;line1&nbsp;and&nbsp;line2.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;SampleGroup2&nbsp;contains&nbsp;two&nbsp;circles,&nbsp;circle1&nbsp;and&nbsp;circle2.</span>
<span style="color:green;">' 3.&nbsp;Changes&nbsp;the&nbsp;color&nbsp;of&nbsp;the&nbsp;lines&nbsp;from&nbsp;white&nbsp;to&nbsp;red.</span>
<span style="color:green;">' 4.&nbsp;Removes&nbsp;an&nbsp;entity,&nbsp;circle1,&nbsp;from&nbsp;SampleGroup2.</span>
<span style="color:green;">' 5.&nbsp;Adds&nbsp;an&nbsp;entity,&nbsp;circle2,&nbsp;to&nbsp;SampleGroup1.</span>
<span style="color:green;">' 6.&nbsp;Reorders&nbsp;SampleGroup1.</span>
<span style="color:green;">' 7.&nbsp;Explodes&nbsp;SampleGroup2,&nbsp;which&nbsp;removes&nbsp;the&nbsp;definition</span>
<span style="color:green;">' &nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;drawing;&nbsp;however,&nbsp;circle1&nbsp;remains&nbsp;as&nbsp;an&nbsp;entity</span>
<span style="color:green;">'&nbsp; &nbsp;&nbsp;in&nbsp;the&nbsp;drawing.</span>
<span style="color:green;">' 8.&nbsp;Renames&nbsp;SampleGroup1&nbsp;and&nbsp;changes&nbsp;its&nbsp;description.
'
</span><span style="color:green;">' <b>NOTE</b>: Execution of the macro stops several times. Follow the
' instructions in the macro each time execution stops.</span>
<span style="color:green;">'----------------------------------------------------------------</span>
<span style="color:blue;">Imports</span>&nbsp;System
<span style="color:blue;">Imports</span>&nbsp;DraftSight.Interop.dsAutomation
<span style="color:blue;">Imports</span>&nbsp;System.Runtime.InteropServices
<span style="color:blue;">Imports</span>&nbsp;System.Windows.Forms
<span style="color:blue;">Imports</span>&nbsp;System.Diagnostics

<span style="color:blue;">Module</span>&nbsp;<span style="color:#2b91af;">Module1</span>

&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Public</span>&nbsp;dsApp&nbsp;<span style="color:blue;">As</span>&nbsp;DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Public</span>&nbsp;dsDoc&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Document</span>

&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Sub</span>&nbsp;Main()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Connect&nbsp;to&nbsp;DraftSight&nbsp;application</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp&nbsp;=&nbsp;<span style="color:blue;">DirectCast</span>(<span style="color:#2b91af;">Marshal</span>.GetActiveObject(<span style="color:#a31515;">&quot;DraftSight.Application&quot;</span>),&nbsp;DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'&nbsp;Abort&nbsp;any&nbsp;command&nbsp;currently&nbsp;running&nbsp;in&nbsp;DraftSight&nbsp;to&nbsp;avoid&nbsp;nested&nbsp;commands</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp.<b>AbortRunningCommand</b>()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsApp&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Return</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Get&nbsp;active&nbsp;document</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsDoc&nbsp;=&nbsp;dsApp.<b>GetActiveDocument</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsDoc&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;There&nbsp;are&nbsp;no&nbsp;open&nbsp;documents&nbsp;in&nbsp;DraftSight.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Return</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Insert&nbsp;entities</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsSketchMgr&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">SketchManager</span>&nbsp;=&nbsp;dsApp.<b>GetActiveDocument</b>().GetModel().GetSketchManager()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;line1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Line</span>&nbsp;=&nbsp;dsSketchMgr.<b>InsertLine</b>(0,&nbsp;0,&nbsp;0,&nbsp;10,&nbsp;10,&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;line2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Line</span>&nbsp;=&nbsp;dsSketchMgr.<b>InsertLine</b>(5,&nbsp;0,&nbsp;0,&nbsp;15,&nbsp;10,&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;circle1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Circle</span>&nbsp;=&nbsp;dsSketchMgr.<b>InsertCircle</b>(5,&nbsp;5,&nbsp;0,&nbsp;10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;circle2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Circle</span>&nbsp;=&nbsp;dsSketchMgr.<b>InsertCircle</b>(10,&nbsp;5,&nbsp;0,&nbsp;10)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;EntitiesArray1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>()&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(1)&nbsp;{}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntitiesArray1(0)&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(line1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntitiesArray1(1)&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(line2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;EntitiesArray2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>()&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(1)&nbsp;{}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntitiesArray2(0)&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(circle1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntitiesArray2(1)&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(circle2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateGroups(EntitiesArray1,&nbsp;EntitiesArray2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Diagnostics.<span style="color:#2b91af;">Debugger</span>.Break()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Type&nbsp;GROUP&nbsp;at&nbsp;the&nbsp;command-window prompt</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'to&nbsp;verify&nbsp;that&nbsp;two&nbsp;EntityGroups,&nbsp;SampleGroup1</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'and&nbsp;SampleGroup2,&nbsp;were&nbsp;created</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;OK&nbsp;to&nbsp;close&nbsp;the&nbsp;dialog&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;F5&nbsp;in&nbsp;the&nbsp;IDE&nbsp;to&nbsp;continue</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Get&nbsp;SampleGroup2&nbsp;and&nbsp;remove&nbsp;circle2</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsGroup2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Group</span>&nbsp;=&nbsp;dsDoc.<b>GetGroup</b>(<span style="color:#a31515;">&quot;SampleGroup2&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsGroup2.<b>HasEntity</b>(circle2)&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;index&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Integer</span>&nbsp;=&nbsp;dsGroup2.<b>GetIndex</b>(circle2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup2.<b>RemoveEntityAt</b>(index)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Get&nbsp;SampleGroup1&nbsp;and&nbsp;add&nbsp;circle1&nbsp;at&nbsp;last&nbsp;position</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsGroup1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Group</span>&nbsp;=&nbsp;dsDoc.<b>GetGroup</b>(<span style="color:#a31515;">&quot;SampleGroup1&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;EntitiesArray&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>()&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(0)&nbsp;{}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntitiesArray(0)&nbsp;=&nbsp;<span style="color:blue;">New</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(circle1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;count&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Integer</span>&nbsp;=&nbsp;dsGroup1.<b>GetEntitiesCount</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup1.<b>InsertEntitiesAt</b>(count,&nbsp;EntitiesArray)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;newCount&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Integer</span>&nbsp;=&nbsp;dsGroup1.<b>GetEntitiesCount</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;newCount&nbsp;&lt;&gt;&nbsp;count&nbsp;+&nbsp;1&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Circle1&nbsp;was&nbsp;not&nbsp;inserted.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Move&nbsp;circle1&nbsp;to&nbsp;second&nbsp;position&nbsp;(index&nbsp;1)</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;circleIndex&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Integer</span>&nbsp;=&nbsp;dsGroup1.<b>GetIndex</b>(circle1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;circleIndex&nbsp;&lt;&gt;&nbsp;count&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Circle1&nbsp;inserted&nbsp;at&nbsp;wrong&nbsp;position.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup1.Reorder(circleIndex,&nbsp;1,&nbsp;1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;circleIndex&nbsp;=&nbsp;dsGroup1.<b>GetIndex</b>(circle1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;circleIndex&nbsp;&lt;&gt;&nbsp;1&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Circle1&nbsp;inserted&nbsp;at&nbsp;wrong&nbsp;position.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Explode&nbsp;SampleGroup2</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup2.Explode()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Diagnostics.<span style="color:#2b91af;">Debugger</span>.Break()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Type&nbsp;GROUP&nbsp;at&nbsp;the&nbsp;command-window prompt</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'to&nbsp;verify&nbsp;that&nbsp;only&nbsp;SampleGroup1&nbsp;exists</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;OK&nbsp;to&nbsp;close&nbsp;the&nbsp;dialog&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;F5&nbsp;in&nbsp;the&nbsp;IDE&nbsp;to&nbsp;continue</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsGroups&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>&nbsp;=&nbsp;<span style="color:blue;">Nothing</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroups&nbsp;=&nbsp;dsDoc.<b>GetGroups</b>()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;groupObjects&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>()&nbsp;=&nbsp;<span style="color:blue;">DirectCast</span>(dsGroups,&nbsp;<span style="color:blue;">Object</span>())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;groupObjects.Length&nbsp;&lt;&gt;&nbsp;1&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Group2&nbsp;was&nbsp;not&nbsp;exploded.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Rename&nbsp;SampleGroup1&nbsp;and&nbsp;change&nbsp;description</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup1.<b>Rename</b>(<span style="color:#a31515;">&quot;SampleGroup&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsGroup1.<b>Description</b>&nbsp;=&nbsp;<span style="color:#a31515;">&quot;My&nbsp;sample&nbsp;group.&quot;</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Diagnostics.<span style="color:#2b91af;">Debugger</span>.Break()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Type&nbsp;GROUP&nbsp;at&nbsp;the&nbsp;command-window prompt</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'to&nbsp;verify&nbsp;that&nbsp;SampleGroup1&nbsp;was&nbsp;renamed</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'to&nbsp;SampleGroup&nbsp;and&nbsp;its&nbsp;description</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'changed&nbsp;to&nbsp;&quot;My&nbsp;sample&nbsp;group&quot;</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;OK&nbsp;to&nbsp;close&nbsp;the&nbsp;dialog&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Press&nbsp;F5&nbsp;in&nbsp;the&nbsp;IDE&nbsp;to&nbsp;continue</span>
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">Sub</span>

&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Private</span>&nbsp;<span style="color:blue;">Sub</span>&nbsp;CreateGroups(<span style="color:blue;">ByVal</span>&nbsp;EntitiesArray1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>(),&nbsp;<span style="color:blue;">ByVal</span>&nbsp;EntitiesArray2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">DispatchWrapper</span>())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Create&nbsp;group</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsGroup1&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Group</span>&nbsp;=&nbsp;dsDoc.<b>CreateGroup</b>(<span style="color:#a31515;">&quot;SampleGroup1&quot;</span>,&nbsp;<span style="color:blue;">False</span>,&nbsp;<span style="color:#a31515;">&quot;This&nbsp;is&nbsp;my&nbsp;first&nbsp;sample&nbsp;group.&quot;</span>,&nbsp;EntitiesArray1)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsEntities&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>&nbsp;=&nbsp;<span style="color:blue;">Nothing</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsEntityTypes&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>&nbsp;=&nbsp;<span style="color:blue;">Nothing</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsEntities&nbsp;=&nbsp;dsGroup1.<b>GetEntities</b>(dsEntityTypes)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;entityObjects&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>()&nbsp;=&nbsp;<span style="color:blue;">DirectCast</span>(dsEntities,&nbsp;<span style="color:blue;">Object</span>())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsEntityTypesArray&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Integer</span>()&nbsp;=&nbsp;<span style="color:blue;">DirectCast</span>(dsEntityTypes,&nbsp;<span style="color:blue;">Integer</span>())

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;entityObjects&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">AndAlso</span>&nbsp;dsEntityTypesArray&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Return</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Change&nbsp;color&nbsp;of&nbsp;lines&nbsp;from&nbsp;white&nbsp;to&nbsp;red</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsEntityHelper&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">EntityHelper</span>&nbsp;=&nbsp;dsApp.<b>GetEntityHelper</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsColor&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Color</span>&nbsp;=&nbsp;dsApp.<b>GetNamedColor</b>(<span style="color:#2b91af;">dsNamedColor_e</span>.dsNamedColor_Red)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">For</span>&nbsp;<span style="color:blue;">Each</span>&nbsp;dsEntity&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Object</span>&nbsp;<span style="color:blue;">In</span>&nbsp;entityObjects
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsEntity&nbsp;<span style="color:blue;">IsNot</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsEntityHelper.<b>SetColor</b>(dsEntity,&nbsp;dsColor)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Next</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsGroup2&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Group</span>&nbsp;=&nbsp;dsDoc.<b>CreateGroup</b>(<span style="color:#a31515;">&quot;SampleGroup2&quot;</span>,&nbsp;<span style="color:blue;">False</span>,&nbsp;<span style="color:#a31515;">&quot;This&nbsp;is&nbsp;my&nbsp;second&nbsp;sample&nbsp;group.&quot;</span>,&nbsp;EntitiesArray2)
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">Sub</span>

<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">Module</span></pre>

</body>

</html>