Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
draftsight
/
opt
/
dassault-systemes
/
DraftSight
/
APISDK
/
Create_Linear_Pattern_Example_CSharp.htm
|
|---|
<html>
<head>
<title>Create Linear Pattern 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,linear patterns">
</head>
<body>
<h1>Create Linear Pattern Example (C#)</h1>
<p>This example shows how to to create a linear pattern.</p>
<div style="font-family: Monospace; font-size: 10pt; background-color: white">
<pre>//-------------------------------------------------------------
// Preconditions:
// 1. Create a C# Windows console project.
// 2. Copy and paste this example into the C# IDE.
// 3. Add a reference to:
// <i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll.
</b>// 4. Add references to <b>System</b> and <b>System.Windows.Forms</b>.
// 5. Start DraftSight and open a document.
// 6. Click Start Debugging.
//
// Postconditions:
// 1. Draws a Circle.
// 2. Draws a 2D PolyLine.
// 3. Creates a linear pattern using the Circle and 2D PolyLine
// entities.
// 4. Zooms the drawing to fit.
// 5. Examine the drawing.
//------------------------------------------------------------</pre>
<p class="APICODE"><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>
<br>
</span><span style="color: Blue">namespace</span><span style="color: Black">
PatternLinear<br>
{<br>
</span><span style="color: Blue">class</span><span style="color: Black">
</span><span style="color: #2b91af">Program<br>
</span><span style="color: Black"> {<br>
</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>
</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>
{<br>
</span><span style="color: Green">//Connect to DraftSight
application<br>
</span><span style="color: Black"> 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">"DraftSight.Application"</span><span style="color: Black">);<br>
dsApp.<b>AbortRunningCommand</b>();
// </span>abort any command currently running in DraftSight to avoid nested
commands<span style="color: Black"><br>
<br>
</span><span style="color: Green">//Get active document<br>
</span><span style="color: Black"> </span><span style="color: #2b91af">Document</span><span style="color: Black">
dsDoc = dsApp.<b>GetActiveDocument</b>();<br>
</span><span style="color: Blue">if</span><span style="color: Black">
(</span><span style="color: Blue">null</span><span style="color: Black"> ==
dsDoc)<br>
{<br>
</span><span style="color: #2b91af">MessageBox</span><span style="color: Black">.Show(</span><span style="color: #a31515">"There
are no open documents in DraftSight."</span><span style="color: Black">);<br>
</span><span style="color: Blue">return</span><span style="color: Black">;<br>
}<br>
<br>
</span><span style="color: Green">//Get model space<br>
</span><span style="color: Black"> </span><span style="color: #2b91af">Model</span><span style="color: Black">
dsModel = dsDoc.<b>GetModel</b>();<br>
<br>
</span><span style="color: Green">//Get Sketch Manager<br>
</span><span style="color: Black"> </span><span style="color: #2b91af">SketchManager</span><span style="color: Black">
dsSketchMgr = dsModel.<b>GetSketchManager</b>();<br>
<br>
</span><span style="color: Green">//Draw a Circle<br>
</span><span style="color: Black"> </span><span style="color: Blue">double</span><span style="color: Black">[]
centerPoint = </span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: Blue">double</span><span style="color: Black">[]
{ 5, 5, 0 };<br>
</span><span style="color: Blue">double</span><span style="color: Black">
radius = 3;<br>
</span><span style="color: #2b91af">Circle</span><span style="color: Black">
dsCircle = dsSketchMgr.<b>InsertCircle</b>(centerPoint[0], centerPoint[1],
centerPoint[2], radius);<br>
<br>
</span><span style="color: Green">//Draw a 2D PolyLine<br>
</span><span style="color: Black"> </span><span style="color: Blue">double</span><span style="color: Black">[]
coordinatesArray = </span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: Blue">double</span><span style="color: Black">[]<br>
{<br>
10, 4,<br>
10, 6,<br>
14, 6,<br>
14, 4<br>
};<br>
</span><span style="color: Blue">bool</span><span style="color: Black">
closed = </span><span style="color: Blue">true</span><span style="color: Black">;<br>
</span><span style="color: #2b91af">PolyLine</span><span style="color: Black">
dsPolyLine = dsSketchMgr.<b>InsertPolyline2D</b>(coordinatesArray, closed);<br>
<br>
</span><span style="color: Green">//Linear pattern parameters<br>
</span><span style="color: Black"> </span><span style="color: Blue">int</span><span style="color: Black">
numberElementsOnVerticalAxis = 4;<br>
</span><span style="color: Blue">int</span><span style="color: Black">
numberElementsOnHorizontalAxis = 5;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
spacingOnVerticalAxis = 20;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
spacingOnHorizontalAxis = 40;<br>
</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"> </span><span style="color: Green">//Prepare
list of entity types<br>
</span><span style="color: Black"> </span><span style="color: Blue">int</span><span style="color: Black">[]
dsEntityTypes = </span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: Blue">int</span><span style="color: Black">[]<br>
{<br>
(</span><span style="color: Blue">int</span><span style="color: Black">)</span><span style="color: #2b91af">dsObjectType_e</span><span style="color: Black">.dsCircleType,<br>
(</span><span style="color: Blue">int</span><span style="color: Black">)</span><span style="color: #2b91af">dsObjectType_e</span><span style="color: Black">.dsPolyLineType<br>
};<br>
<br>
</span><span style="color: Green">//Prepare list of entities<br>
</span><span style="color: Black"> </span><span style="color: #2b91af">DispatchWrapper</span><span style="color: Black">[]
dsEntities = </span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: #2b91af">DispatchWrapper</span><span style="color: Black">[]<br>
{<br>
</span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: #2b91af">DispatchWrapper</span><span style="color: Black">(dsCircle),<br>
</span><span style="color: Blue">new</span><span style="color: Black">
</span><span style="color: #2b91af">DispatchWrapper</span><span style="color: Black">(dsPolyLine)<br>
};<br>
<br>
</span><span style="color: Green">//Create linear pattern<br>
</span><span style="color: Black"> dsSketchMgr.<b>PatternLinear</b>(numberElementsOnVerticalAxis,
numberElementsOnHorizontalAxis,<br>
spacingOnVerticalAxis,
spacingOnHorizontalAxis, patternAngle,<br>
dsEntityTypes, dsEntities);<br>
<br>
</span><span style="color: Green">//Zoom to fit<br>
</span><span style="color: Black"> 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>
}<br>
}<br>
}<br>
</span></div>
<p> </p>
</body>
</html>