This example shows how to create a Trace and change its vertex coordinates and thickness.
//-------------------------------------------------------------- // Preconditions: // 1. Create a C# Windows console project. // 2. Copy and paste this code into the C# project. // 3. Add a reference to // install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll. // 4. Add a reference to System.Windows.Forms. // 5. Start DraftSight. // 6. Press F5. // // Postconditions: // 1. Connects to DraftSight. // 2. Gets the active document. // 3. Creates a Trace. // 4. Sets the vertex coordinates of the Trace. // 5. Sets the thickness of the Trace. // 6. Gets the vertex coordinates of the Trace. // Click OK to close each message box. // 7. Gets the thickness of the Trace. // Click OK to close the message box. //---------------------------------------------------------------- using System; using DraftSight.Interop.dsAutomation; using System.Runtime.InteropServices; using System.Windows.Forms; namespace TraceCSharp { class Program { static void Main() { DraftSight.Interop.dsAutomation.Application dsApp; //Connects to DraftSight application dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application"); if (null == dsApp) { return; } //Aborts any command currently running in DraftSight //to avoid nested commands dsApp.AbortRunningCommand(); //Gets active document Document dsDoc = dsApp.GetActiveDocument(); if (null == dsDoc) { MessageBox.Show("There are no open documents in DraftSight."); return; } //Gets Sketch Manager SketchManager dsSketchMgr = dsDoc.GetModel().GetSketchManager(); //Creates array for Trace vertex coordinates double[] CoordinatesArray = { 0, 0, 0, 5, 5, 0, -1, 10, 0, 4, 8, 0 }; //Creates Trace Trace dsTrace = dsSketchMgr.InsertTrace(CoordinatesArray); //Sets the vertex coordinates of trace dsTrace.SetVertex1Coordinate(1.2, 2.0, 0.0); dsTrace.SetVertex2Coordinate(1.1, 2.3, 0.0); dsTrace.SetVertex3Coordinate(2.2, 1.0, 0.0); dsTrace.SetVertex4Coordinate(2.2, 3.0, 0.0); //Sets Trace thickness dsTrace.Thickness = 2.0; //Gets Trace vertex coordinates double X, Y, Z; dsTrace.GetVertex1Coordinate(out X, out Y, out Z); MessageBox.Show("GetVertex1Coordinate: (" + X + ", " + Y + ", " + Z + ")"); dsTrace.GetVertex2Coordinate(out X, out Y, out Z); MessageBox.Show("GetVertex2Coordinate: (" + X + ", " + Y + ", " + Z + ")"); dsTrace.GetVertex3Coordinate(out X, out Y, out Z); MessageBox.Show("GetVertex3Coordinate: (" + X + ", " + Y + ", " + Z + ")"); dsTrace.GetVertex3Coordinate(out X, out Y, out Z); MessageBox.Show("GetVertex4Coordinate: (" + X + ", " + Y + ", " + Z + ")"); //Gets Trace thickness MessageBox.Show("Thickness: " + dsTrace.Thickness); } } }