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

<head>
<title>Create Mathematical Circular Arcs Example (C#)</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="C# examples">
<meta name=MS-HKWD content="C# examples,math circular Arcs">

</head>


<body>
<h1>Create Mathematical Circular Arcs Example (C#)</h1>
<p>This example shows how to create mathematical circular Arcs.</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;C#&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;C#&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;a&nbsp;reference&nbsp;to&nbsp;<b>System.Windows.Forms</b>.</span>
<span style="color: green">//&nbsp;5.&nbsp;Start&nbsp;DraftSight.</span>
<span style="color: green">//&nbsp;6.&nbsp;Press&nbsp;F5.</span>
<span style="color: green">//</span>
<span style="color: green">//&nbsp;Postconditions:&nbsp;</span>
<span style="color: green">//&nbsp;1.&nbsp;Connects&nbsp;to&nbsp;DraftSight.</span>
<span style="color: green">//&nbsp;2.&nbsp;Gets&nbsp;the&nbsp;active&nbsp;document.</span>
<span style="color: green">//&nbsp;3.&nbsp;Creates&nbsp;a&nbsp;mathematical&nbsp;circular&nbsp;Arc.</span>
<span style="color: green">//&nbsp;4.&nbsp;Gets&nbsp;the&nbsp;point&nbsp;on&nbsp;the&nbsp;mathematical&nbsp;circular&nbsp;Arc</span>
<span style="color: green">//&nbsp;&nbsp;&nbsp;&nbsp;closest&nbsp;to&nbsp;a&nbsp;mathematical point. Click OK to close
//    the message box.</span>
<span style="color: green">//&nbsp;5.&nbsp;Sets&nbsp;the&nbsp;radius&nbsp;for&nbsp;the&nbsp;mathematical&nbsp;circular&nbsp;Arc.</span>
<span style="color: green">//&nbsp;6.&nbsp;Creates&nbsp;another&nbsp;mathematical&nbsp;circular&nbsp;Arc.</span>
<span style="color: green">//&nbsp;7.&nbsp;Sets&nbsp;the&nbsp;radius&nbsp;for&nbsp;the&nbsp;mathematical&nbsp;circular&nbsp;Arc.</span>
<span style="color: green">//----------------------------------------------------------------</span>
 
<span style="color: blue">using</span>&nbsp;System;
<span style="color: blue">using</span>&nbsp;DraftSight.Interop.dsAutomation;
<span style="color: blue">using</span>&nbsp;System.Runtime.InteropServices;
<span style="color: blue">using</span>&nbsp;System.Windows.Forms;
 
<span style="color: blue">namespace</span>&nbsp;MathCircArcCSharp
{
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">class</span>&nbsp;<span style="color: #2b91af">Program</span>
&nbsp;&nbsp;&nbsp;&nbsp;{
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">static</span>&nbsp;<span style="color: blue">void</span>&nbsp;Main()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DraftSight.Interop.dsAutomation.<span style="color: #2b91af">Application</span>&nbsp;dsApp;
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Connects&nbsp;to&nbsp;DraftSight&nbsp;application</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp&nbsp;=&nbsp;(DraftSight.Interop.dsAutomation.<span style="color: #2b91af">Application</span>)<span style="color: #2b91af">Marshal</span>.GetActiveObject(<span style="color: #a31515">&quot;DraftSight.Application&quot;</span>);
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">if</span>&nbsp;(<span style="color: blue">null</span>&nbsp;==&nbsp;dsApp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;}
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Aborts&nbsp;any&nbsp;command&nbsp;currently&nbsp;running&nbsp;in&nbsp;DraftSight</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//to&nbsp;avoid&nbsp;nested&nbsp;commands</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp.<b>AbortRunningCommand</b>();
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Gets&nbsp;active&nbsp;document</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">Document</span>&nbsp;dsDoc&nbsp;=&nbsp;dsApp.<b>GetActiveDocument</b>();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">if</span>&nbsp;(<span style="color: blue">null</span>&nbsp;==&nbsp;dsDoc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">return</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathUtility</span>&nbsp;dsMathUtility&nbsp;=&nbsp;dsApp.<b>GetMathUtility</b>();
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Creates&nbsp;mathematical&nbsp;circular&nbsp;Arc</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathPoint</span>&nbsp;dsCenter&nbsp;=&nbsp;dsMathUtility.<b>CreatePoint</b>(3.0,&nbsp;7.0,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathVector</span>&nbsp;dsNormal&nbsp;=&nbsp;dsMathUtility.<b>CreateVector</b>(1.0,&nbsp;0.0,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">double</span>&nbsp;dsRadius&nbsp;=&nbsp;2;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathVector</span>&nbsp;RefVector&nbsp;=&nbsp;dsMathUtility.<b>CreateVector</b>(1.0,&nbsp;0.0,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathCircArc</span>&nbsp;dsMathCircArc&nbsp;=&nbsp;dsMathUtility.<b>CreateCircArc</b>(dsCenter,&nbsp;dsNormal,&nbsp;RefVector,&nbsp;dsRadius,&nbsp;20,&nbsp;45); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Gets&nbsp;point&nbsp;on&nbsp;mathematical&nbsp;circular&nbsp;Arc</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//closest&nbsp;to&nbsp;this&nbsp;point</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathPoint</span>&nbsp;point&nbsp;=&nbsp;dsMathUtility.<b>CreatePoint</b>(3.0,&nbsp;7.0,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathPoint</span>&nbsp;closestPoint&nbsp;=&nbsp;dsMathCircArc.<b>GetClosestPointTo</b>(point); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">double</span>&nbsp;X,&nbsp;Y,&nbsp;Z;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;closestPoint.<b>GetPosition</b>(<span style="color: blue">out</span>&nbsp;X,&nbsp;<span style="color: blue">out</span>&nbsp;Y,&nbsp;<span style="color: blue">out</span>&nbsp;Z);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MessageBox</span>.Show(<span style="color: #a31515">&quot;Closest&nbsp;point&nbsp;of&nbsp;(3,&nbsp;7,&nbsp;0)&nbsp;is&nbsp;(&quot;</span>&nbsp;+&nbsp;X&nbsp;+&nbsp;<span style="color: #a31515">&quot;,&nbsp;&quot;</span>&nbsp;+&nbsp;Y&nbsp;+&nbsp;<span style="color: #a31515">&quot;,&nbsp;&quot;</span>&nbsp;+&nbsp;Z&nbsp;+&nbsp;<span style="color: #a31515">&quot;)&quot;</span>); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Sets&nbsp;radius&nbsp;of&nbsp;mathematical&nbsp;circular&nbsp;Arc</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsMathCircArc.<b>Radius</b>&nbsp;=&nbsp;6.4;
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//Creates&nbsp;a&nbsp;mathematical&nbsp;circular&nbsp;Arc&nbsp;defining&nbsp;a&nbsp;Circle</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: green">//with&nbsp;the&nbsp;specified&nbsp;center,&nbsp;normal,&nbsp;and&nbsp;radius</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathPoint</span>&nbsp;center&nbsp;=&nbsp;dsMathUtility.<b>CreatePoint</b>(2.0,&nbsp;3.1,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathVector</span>&nbsp;normal&nbsp;=&nbsp;dsMathUtility.<b>CreateVector</b>(1.0,&nbsp;0.0,&nbsp;0.0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue">double</span>&nbsp;radius&nbsp;=&nbsp;3.0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #2b91af">MathCircArc</span>&nbsp;circle&nbsp;=&nbsp;dsMathUtility.<b>CreateCircle</b>(center,&nbsp;normal,&nbsp;radius);
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
}</pre>

</body>

</html>