Change Color Using Color Picker Example (C#)
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;
}
}
}