Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
draftsight
/
opt
/
dassault-systemes
/
DraftSight
/
APISDK
/
Insert_External_Reference_Example_CSharp.htm
|
|---|
<html>
<head>
<title>Insert External Reference 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,external references">
</head>
<body>
<h1>Insert External Reference Example (C#)</h1>
<p>This example shows how to insert an external reference to a drawing document.</p>
<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 new document.
// 6. If <b>C:\Block.dwg</b> exists, then skip this step.
// - or -
// If <b>C:\Block.dwg</b> does not exist, then construct
// some geometry in the drawing, save the drawing
// as <b>C:\Block.dwg</b>, and open a new drawing document.
// 7. Start debugging the project.
//
// Postconditions: Message boxes pop up when a Block Instance is
// inserted in the drawing document.
//----------------------------------------------------------------
using DraftSight.Interop.dsAutomation;
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
static class Module1
{
static void Main(string[] args)
{
DraftSight.Interop.dsAutomation.Application dsApp;
Document dsDoc = default(Document);
Model dsModel = default(Model);
SketchManager dsSketchManager = default(SketchManager);
BlockInstance dsExtReference = default(BlockInstance);
ExternalReference dsReference = default(ExternalReference);
string pathName;
double insertX = 0;
double insertY = 0;
double insertZ = 0;
double scaleValue = 0;
double rotation = 0;
//Connect to DraftSight
dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application");
dsApp.<b>AbortRunningCommand</b>(); // abort any command currently running in DraftSight to avoid nested commands
//Get active document
dsDoc = dsApp.<b>GetActiveDocument</b>();
if (dsDoc != null)
{
//Get model space
dsModel = dsDoc.<b>GetModel</b>();
//Get Sketch Manager
dsSketchManager = dsModel.<b>GetSketchManager</b>();
//External reference iparameters (rotation value should be in radians)
pathName = "C:\\Block.dwg";
insertX = 0.0;
insertY = 0.0;
insertZ = 0.0;
scaleValue = 1.0;
rotation = 0.0;
//Add an external reference
dsExtReference = dsSketchManager.<b>InsertExternalReference</b>(pathName, insertX, insertY, insertZ, scaleValue, rotation);
if (dsExtReference != null)
{
MessageBox.Show("An external reference was added to the drawing.");
object[] references = null;
references = dsDoc.<b>GetExternalReferences</b>();
dsReference = (ExternalReference)references[0];
if (dsReference != null)
{
MessageBox.Show("Name of external reference " + dsReference.<b>Name</b> + ".");
}
}
else
{
MessageBox.Show(pathName + " file was not found.");
}
}
else
{
MessageBox.Show("There are no open documents in DraftSight.");
}
}
}</pre>
</body>
</html>