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

<head>
<title>Insert Hatch 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,Hatches">
<meta name=MS-HKWD content="C# examples,Hatch boundary loops">
</head>


<body>
<h1>Insert Hatch Example (C#)</h1>
<p>This example shows how to insert a Hatch in a drawing document.</p>
<div style="font-family: Monospace; font-size: 10pt; background-color: white">
	<p class="APICODE"><span style="color: Green">
	//--------------------------------------------------------------<br>
	// Preconditions:<br>
	// 1. Create a C# Windows console project.<br>
	// 2. Copy and paste this example into the C# IDE.<br>
	// 3. Add a reference to:<br>
	//&nbsp;&nbsp;&nbsp;&nbsp;<i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.<br>
	// 4. Add references to <b>System</b> and <b>System.Windows.Forms</b>.<br>
	// 5. Start DraftSight and open a drawing document.<br>
	// 6. Start debugging the project.<br>
	//<br>
	// Postconditions: A Hatch is inserted in the drawing document<br>
	// and zoomed to fit.<br>
	//----------------------------------------------------------------<br>
	<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System.Collections.Generic;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System.Text;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	DraftSight.Interop.dsAutomation;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System.Runtime.InteropServices;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System.Windows.Forms;<br>
	</span><span style="color: Blue">using</span><span style="color: Black"> 
	System.Diagnostics;<br>
	<br>
	</span><span style="color: Blue">namespace</span><span style="color: Black"> 
	AddHatch<br>
	{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">class</span><span style="color: Black">
	</span><span style="color: #2b91af">Program<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">private</span><span style="color: Black">
	</span><span style="color: Blue">static</span><span style="color: Black"> 
	DraftSight.Interop.dsAutomation.</span><span style="color: #2b91af">Application</span><span style="color: Black"> 
	dsApp;<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">static</span><span style="color: Black">
	</span><span style="color: Blue">void</span><span style="color: Black"> 
	Main(</span><span style="color: Blue">string</span><span style="color: Black">[] 
	args)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Connect to DraftSight 
	application<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp = ConnectToDraftSight();<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">if</span><span style="color: Black"> 
	(</span><span style="color: Blue">null</span><span style="color: Black"> == 
	dsApp)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">return</span><span style="color: Black">;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dsApp.<b>AbortRunningCommand</b>(); </span>
	<font color="#008000">// abort any command currently running in DraftSight 
	to avoid nested commands</font><span style="color: Black"><br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Get active document<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Document</span><span style="color: Black"> 
	dsDoc = dsApp.<b>GetActiveDocument</b>();<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">if</span><span style="color: Black"> 
	(</span><span style="color: Blue">null</span><span style="color: Black"> == 
	dsDoc)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">MessageBox</span><span style="color: Black">.Show(</span><span style="color: #a31515">&quot;There 
	are no open documents in DraftSight.&quot;</span><span style="color: Black">);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">return</span><span style="color: Black">;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Get model space<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Model</span><span style="color: Black"> 
	dsModel = dsDoc.<b>GetModel</b>();<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Get Sketch Manager<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">SketchManager</span><span style="color: Black"> 
	dsSketchMgr = dsModel.<b>GetSketchManager</b>();<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Hatch parameters<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">int</span><span style="color: Black">[] 
	boundaryPointCountArray = </span><span style="color: Blue">new</span><span style="color: Black">
	</span><span style="color: Blue">int</span><span style="color: Black">[] { 4 
	};<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">double</span><span style="color: Black">[] 
	boundaryPoints = </span><span style="color: Blue">new</span><span style="color: Black">
	</span><span style="color: Blue">double</span><span style="color: Black">[]<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 0,<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2, 0,<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2, 2,<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 2,<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">string</span><span style="color: Black"> 
	patternName = </span><span style="color: #a31515">&quot;ANSI31&quot;</span><span style="color: Black">;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">double</span><span style="color: Black"> 
	patternScale = 1.0;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">double</span><span style="color: Black"> 
	patternAngle = </span><span style="color: #2b91af">Math</span><span style="color: Black">.PI 
	/ 4; </span><span style="color: Green">// In radians<br>
	<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Insert 
	Hatch<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Hatch</span><span style="color: Black"> 
	dsHatch = dsSketchMgr.<b>InsertHatchByBoundary</b>(boundaryPointCountArray, 
	boundaryPoints, patternName, patternScale, patternAngle);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">if</span><span style="color: Black"> 
	(</span><span style="color: Blue">null</span><span style="color: Black"> != 
	dsHatch)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Change color of Hatch<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Color</span><span style="color: Black"> 
	dsColor = dsHatch.<b>Color</b>;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsColor.<b>SetNamedColor</b>(</span><span style="color: #2b91af">dsNamedColor_e</span><span style="color: Black">.dsNamedColor_Green);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsHatch.<b>Color</b> = dsColor;<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Zoom to fit<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp.<b>Zoom</b>(</span><span style="color: #2b91af">dsZoomRange_e</span><span style="color: Black">.dsZoomRange_Fit,
	</span><span style="color: Blue">null</span><span style="color: Black">,
	</span><span style="color: Blue">null</span><span style="color: Black">);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">else<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">MessageBox</span><span style="color: Black">.Show(</span><span style="color: #a31515">&quot;Hatch 
	entity was not added to the current drawing.&quot;</span><span style="color: Black">);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">private</span><span style="color: Black">
	</span><span style="color: Blue">static</span><span style="color: Black"> 
	DraftSight.Interop.dsAutomation.</span><span style="color: #2b91af">Application</span><span style="color: Black"> 
	ConnectToDraftSight()<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DraftSight.Interop.dsAutomation.</span><span style="color: #2b91af">Application</span><span style="color: Black"> 
	dsApp = </span><span style="color: Blue">null</span><span style="color: Black">;<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">try<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Green">//Connect to DraftSight<br>
	</span><span style="color: Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp = (DraftSight.Interop.dsAutomation.</span><span style="color: #2b91af">Application</span><span style="color: Black">)</span><span style="color: #2b91af">Marshal</span><span style="color: Black">.GetActiveObject(</span><span style="color: #a31515">&quot;DraftSight.Application&quot;</span><span style="color: Black">);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">catch</span><span style="color: Black"> 
	(</span><span style="color: #2b91af">Exception</span><span style="color: Black"> 
	ex)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">MessageBox</span><span style="color: Black">.Show(</span><span style="color: #a31515">&quot;Failed 
	to connect to DraftSight. Cause: &quot;</span><span style="color: Black"> + 
	ex.Message);<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp = </span><span style="color: Blue">null</span><span style="color: Black">;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: Blue">return</span><span style="color: Black"> 
	dsApp;<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	&nbsp;&nbsp;&nbsp;&nbsp;}<br>
	}</span></div>
<p>&nbsp;</p>

</body>

</html>