Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
draftsight
/
opt
/
dassault-systemes
/
DraftSight
/
APISDK
/
Create_and_Attach_Hyperlink_Example_CSharp.htm
|
|---|
<html>
<head>
<title>Create and Attach HyperLink 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,Circles">
<meta name=MS-HKWD content="C# examples,HyperLinks">
</head>
<body>
<h1>Create and Attach HyperLink Example (C#)</h1>
<p>This example shows how to create and attach a HyperLink to a Circle.</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>
// <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. Click Start Debugging.<br>
//<br>
// Postconditions:<br>
// 1. A Circle is constructed in the drawing document.<br>
// 2. A HyperLink is created and attached to the Circle.<br>
// 3. In DraftSight, put the cursor on the Circle to see the<br>
// the hyperlink and Ctrl+click to open DraftSight's website.<br>
//----------------------------------------------------------------<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>
<br>
</span><span style="color: Blue">namespace</span><span style="color: Black">
HyperLinkCSharp<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: #2b91af">Document</span><span style="color: Black">
dsDoc = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">Document</span><span style="color: Black">);<br>
</span><span style="color: #2b91af">Model</span><span style="color: Black">
dsModel = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">Model</span><span style="color: Black">);<br>
</span><span style="color: #2b91af">SketchManager</span><span style="color: Black">
dsSketchManager = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">SketchManager</span><span style="color: Black">);<br>
</span><span style="color: #2b91af">Circle</span><span style="color: Black">
dsCircle = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">Circle</span><span style="color: Black">);<br>
</span><span style="color: Blue">double</span><span style="color: Black">
centerX = 0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
centerY = 0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
centerZ = 0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
radius = 0;<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"> dsDoc = dsApp.<b>GetActiveDocument</b>();<br>
<br>
</span><span style="color: Blue">if</span><span style="color: Black">
((dsDoc != </span><span style="color: Blue">null</span><span style="color: Black">))<br>
{<br>
</span><span style="color: Green">//Get model space<br>
</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"> dsSketchManager = dsModel.<b>GetSketchManager</b>();<br>
<br>
</span><span style="color: Green">//Circle parameters<br>
</span><span style="color: Black"> centerX = 1.0;<br>
centerY = 2.0;<br>
centerZ = 0.0;<br>
radius = 5.0;<br>
<br>
</span><span style="color: Green">//Construct a Circle<br>
</span><span style="color: Black"> dsCircle =
dsSketchManager.<b>InsertCircle</b>(centerX, centerY, centerZ, radius);<br>
<br>
</span><span style="color: Green">//Create and attach
HyperLink to Circle<br>
</span><span style="color: Black"> </span><span style="color: Blue">double</span><span style="color: Black">
startCornerX = 0;<br>
startCornerX = 0.0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
startCornerY = 0;<br>
startCornerY = 0.0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
startCornerZ = 0;<br>
startCornerZ = 0.0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
oppositeCornerX = 0;<br>
startCornerX = 0.0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
oppositeCornerY = 0;<br>
startCornerY = 0.0;<br>
</span><span style="color: Blue">double</span><span style="color: Black">
oppositeCornerZ = 0;<br>
startCornerZ = 0.0;<br>
</span><span style="color: Blue">string</span><span style="color: Black">
hyperLinkAddress = </span><span style="color: Blue">null</span><span style="color: Black">;<br>
hyperLinkAddress = </span><span style="color: #a31515">
"http://www.3ds.com/products/draftsight/free-cad-software/"</span><span style="color: Black">;<br>
</span><span style="color: Blue">string</span><span style="color: Black">
description = </span><span style="color: Blue">null</span><span style="color: Black">;<br>
description = </span><span style="color: #a31515">"DraftSight's
website"</span><span style="color: Black">;<br>
</span><span style="color: #2b91af">PolyLine3D</span><span style="color: Black">
ds3DPolyLine = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">PolyLine3D</span><span style="color: Black">);<br>
</span><span style="color: #2b91af">HyperLink</span><span style="color: Black">
dsHyperLink = </span><span style="color: Blue">default</span><span style="color: Black">(</span><span style="color: #2b91af">HyperLink</span><span style="color: Black">);<br>
<br>
dsHyperLink = dsSketchManager.<b>AttachLinkToArea</b>(startCornerX,
startCornerY, startCornerZ, oppositeCornerX, oppositeCornerY,
oppositeCornerZ, hyperLinkAddress, description, </span>
<span style="color: Blue">out</span><span style="color: Black">
ds3DPolyLine);<br>
dsCircle.<b>SetHyperLink</b>(dsHyperLink);<br>
<br>
<br>
}<br>
</span><span style="color: Blue">else<br>
</span><span style="color: Black"> {<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>
<br>
}<br>
}<br>
}<br>
<br>
}<br>
</span></div>
<p> </p>
<p> </p>
</body>
</html>