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_External_Reference_Example_CSharp.htm
Size: Mime:
<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(&quot;DraftSight.Application&quot;);
	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 = &quot;C:\\Block.dwg&quot;;
            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(&quot;An external reference was added to the drawing.&quot;);
                object[] references = null;
                references = dsDoc.<b>GetExternalReferences</b>();
                dsReference = (ExternalReference)references[0];
                if (dsReference != null)
                {
                    MessageBox.Show(&quot;Name of external reference &quot; + dsReference.<b>Name</b> + &quot;.&quot;);
                }
            }
            else
            {
                MessageBox.Show(pathName + &quot; file was not found.&quot;);
            }
        }
        else
        {
            MessageBox.Show(&quot;There are no open documents in DraftSight.&quot;);
        }
    }
}</pre>

</body>

</html>