This example shows how to change the Color of a Line using the color picker.
//-------------------------------------------------------------- // 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. Gets the active document. // 2. Constructs a Line. // 3. Gets the Color of the Line. // 4. Opens the color picker. // 5. Select a Color in the color picker and click OK. // 6. Sets the Color of the Line to the Color that you selected // in the color picker. //---------------------------------------------------------------- using System; using DraftSight.Interop.dsAutomation; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ColorPickerCSharp { class Program { static void Main() { DraftSight.Interop.dsAutomation.Application dsApp; Document dsDoc = default(Document); ColorPicker dsColorPicker = default(ColorPicker); SketchManager dsSketchMgr = default(SketchManager); Line dsLine = default(Line); Color dsColor = default(Color); bool OnlyColorBoxIndex = true; bool EnableByBlockAndLayer = true; //Connects to DraftSight dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application"); //Aborts any command currently running in DraftSight to avoid nested commands dsApp.AbortRunningCommand(); //Gets active document dsDoc = dsApp.GetActiveDocument(); //Gets the Sketch Manager dsSketchMgr = dsDoc.GetModel().GetSketchManager(); //Constructs a Line double StartX = 0, StartY = 0, StartZ = 0; double EndX = 23.6, EndY = 12.545, EndZ = 0; dsLine = dsSketchMgr.InsertLine(StartX, StartY, StartZ, EndX, EndY, EndZ); //Gets Color of Line dsColor = dsLine.Color; //Creates an instance of the color picker dsColorPicker = dsApp.CreateColorPicker(OnlyColorBoxIndex, EnableByBlockAndLayer); //Sets Color to the color picker dsColorPicker.SetColor(dsColor); //Opens the color picker dsColorPicker.Execute(); //Select a Color in the color picker //Click OK //Gets Color from color picker dsColor = dsColorPicker.GetColor(); //Sets Color of the Line to Color selected in color picker dsLine.Color = dsColor; } } }