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

<head>
<title>Create Tracker 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,trackers">
<meta name=MS-HKWD content="VB.NET examples,temporary entities">

</head>


<body>
<h1> Create Tracker Example (VB.NET)</h1>
<p>This example shows how to create a tracker and add a temporary entity to the 
tracker.</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;">'&nbsp;1.&nbsp;Creates&nbsp;a&nbsp;temporary&nbsp;Circle&nbsp;for&nbsp;the&nbsp;tracker.</span>
<span style="color:green;">'&nbsp;2.&nbsp;Creates&nbsp;a&nbsp;tracker&nbsp;and&nbsp;adds&nbsp;the&nbsp;temporary&nbsp;Circle&nbsp;to&nbsp;the</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;tracker.&nbsp;</span>
<span style="color:green;">'&nbsp;3.&nbsp;Examine&nbsp;the&nbsp;pointer&nbsp;in&nbsp;the&nbsp;drawing&nbsp;to&nbsp;verify.&nbsp;</span>
<span style="color:green;">'&nbsp;4.&nbsp;Prompts&nbsp;you&nbsp;to&nbsp;click&nbsp;in&nbsp;the&nbsp;drawing&nbsp;to&nbsp;insert&nbsp;a&nbsp;Circle.</span>
<span style="color:green;">'&nbsp;5.&nbsp;Inserts&nbsp;a&nbsp;Circle&nbsp;in&nbsp;the&nbsp;drawing&nbsp;at&nbsp;the&nbsp;point&nbsp;where&nbsp;you&nbsp;clicked.</span>
<span style="color:green;">'----------------------------------------------------------------</span>
 
<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
<span style="color:blue;">Imports</span>&nbsp;System.Windows.Forms
 
<span style="color:blue;">Module</span>&nbsp;<span style="color:#2b91af;">Module_1</span>
 
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Public</span>&nbsp;<span style="color:blue;">WithEvents</span>&nbsp;dsTracker&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Tracker</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;dsTempCircle&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Circle</span>
 
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Public</span>&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;<span style="color:blue;">Dim</span>&nbsp;dsDoc&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Document</span>&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;">'Get&nbsp;Sketch&nbsp;Manager</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;dsDoc.<b>GetModel</b>().<b>GetSketchManager</b>()
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Create&nbsp;temporary&nbsp;Circle</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp.<b>TemporaryEntityMode</b>&nbsp;=&nbsp;<span style="color:blue;">True</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsTempCircle&nbsp;=&nbsp;dsSketchMgr.<b>InsertCircle</b>(0,&nbsp;0,&nbsp;0,&nbsp;10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp.<b>TemporaryEntityMode</b>&nbsp;=&nbsp;<span style="color:blue;">False</span>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Create&nbsp;tracker&nbsp;and&nbsp;add&nbsp;temporary&nbsp;Circle</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsTracker&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Tracker</span>&nbsp;=&nbsp;dsApp.<b>CreateTracker</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsTracker.<b>AddTemporaryEntity</b>(dsTempCircle)
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Prompt&nbsp;for&nbsp;point&nbsp;where&nbsp;to&nbsp;insert&nbsp;Circle</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Before&nbsp;prompt,&nbsp;add&nbsp;tracker&nbsp;to&nbsp;command&nbsp;message</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsCmdMsg&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">CommandMessage</span>&nbsp;=&nbsp;dsApp.<b>GetCommandMessage</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsCmdMsg.<b>AddTracker</b>(dsTracker)
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;X&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;Y&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;Z&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">AddHandler</span>&nbsp;dsTracker.<b>UpdateNotify</b>,&nbsp;<span style="color:blue;">AddressOf</span>&nbsp;dsTracker_UpdateNotify
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;res&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Boolean</span>&nbsp;=&nbsp;dsCmdMsg.<b>PromptForPoint</b>(<span style="color:#a31515;">&quot;Click&nbsp;to&nbsp;insert&nbsp;Circle&quot;</span>,&nbsp;X,&nbsp;Y,&nbsp;Z)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">RemoveHandler</span>&nbsp;dsTracker.<b>UpdateNotify</b>,&nbsp;<span style="color:blue;">AddressOf</span>&nbsp;dsTracker_UpdateNotify
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;res&nbsp;=&nbsp;<span style="color:blue;">True</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Set&nbsp;the&nbsp;center&nbsp;of&nbsp;the&nbsp;Circle&nbsp;where&nbsp;user&nbsp;clicked</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsTempCircle.<b>SetCenter</b>(X,&nbsp;Y,&nbsp;Z)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Add&nbsp;temporary&nbsp;Circle&nbsp;to&nbsp;drawing</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsSketchMgr.<b>AddTemporaryEntity</b>(dsTempCircle)
&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;">'Remove&nbsp;tracker&nbsp;from&nbsp;command&nbsp;message&nbsp;if&nbsp;no&nbsp;longer&nbsp;needed</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsCmdMsg.<b>RemoveTracker</b>(dsTracker)
 
&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;dsTracker<b>_UpdateNotify</b>(<span style="color:blue;">ByVal</span>&nbsp;CursorPosition&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">MathPoint</span>)&nbsp;<span style="color:blue;">Handles</span>&nbsp;dsTracker.UpdateNotify
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;CursorPosition&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:blue;">Dim</span>&nbsp;x&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0,&nbsp;y&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0,&nbsp;z&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:blue;">Double</span>&nbsp;=&nbsp;0.0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CursorPosition.<b>GetPosition</b>(x,&nbsp;y,&nbsp;z)
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsTempCircle.<b>SetCenter</b>(x,&nbsp;y,&nbsp;z)
 
&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>