Create and Attach HyperLink Example (C#)
This example shows how to create and attach a HyperLink to a Circle.
//--------------------------------------------------------------
// Preconditions:
// 1. Create a C# Windows console project.
// 2. Copy and paste this example into the C# IDE.
// 3. Add a reference to:
// install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll.
// 4. Add references to System and System.Windows.Forms.
// 5. Start DraftSight and open a drawing document.
// 6. Click Start Debugging.
//
// Postconditions:
// 1. A Circle is constructed in the drawing document.
// 2. A HyperLink is created and attached to the Circle.
// 3. In DraftSight, put the cursor on the Circle to see the
// the hyperlink and Ctrl+click to open DraftSight's website.
//----------------------------------------------------------------
using
System.Text;
using
DraftSight.Interop.dsAutomation;
using
System.Runtime.InteropServices;
using
System.Windows.Forms;
namespace
HyperLinkCSharp
{
class
Program
{
private
static
DraftSight.Interop.dsAutomation.Application
dsApp;
static
void
Main(string[]
args)
{
Document
dsDoc = default(Document);
Model
dsModel = default(Model);
SketchManager
dsSketchManager = default(SketchManager);
Circle
dsCircle = default(Circle);
double
centerX = 0;
double
centerY = 0;
double
centerZ = 0;
double
radius = 0;
//Connect to DraftSight
application
dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application");
dsApp.AbortRunningCommand();
// abort any command currently running in DraftSight to avoid nested
commands
//Get active document
dsDoc = dsApp.GetActiveDocument();
if
((dsDoc != null))
{
//Get model space
dsModel = dsDoc.GetModel();
//Get Sketch Manager
dsSketchManager = dsModel.GetSketchManager();
//Circle parameters
centerX = 1.0;
centerY = 2.0;
centerZ = 0.0;
radius = 5.0;
//Construct a Circle
dsCircle =
dsSketchManager.InsertCircle(centerX, centerY, centerZ, radius);
//Create and attach
HyperLink to Circle
double
startCornerX = 0;
startCornerX = 0.0;
double
startCornerY = 0;
startCornerY = 0.0;
double
startCornerZ = 0;
startCornerZ = 0.0;
double
oppositeCornerX = 0;
startCornerX = 0.0;
double
oppositeCornerY = 0;
startCornerY = 0.0;
double
oppositeCornerZ = 0;
startCornerZ = 0.0;
string
hyperLinkAddress = null;
hyperLinkAddress =
"http://www.3ds.com/products/draftsight/free-cad-software/";
string
description = null;
description = "DraftSight's
website";
PolyLine3D
ds3DPolyLine = default(PolyLine3D);
HyperLink
dsHyperLink = default(HyperLink);
dsHyperLink = dsSketchManager.AttachLinkToArea(startCornerX,
startCornerY, startCornerZ, oppositeCornerX, oppositeCornerY,
oppositeCornerZ, hyperLinkAddress, description,
out
ds3DPolyLine);
dsCircle.SetHyperLink(dsHyperLink);
}
else
{
MessageBox.Show
("There are no open documents in
DraftSight.");
}
}
}
}