This example shows how to change the transparency of the active Layer, create a TableStyle and Table, and change the background colors of the top row and a cell in the Table.
//-------------------------------------------------------------- // Preconditions: // 1. Create a C# Windows console project. // 2. Copy and paste this example into the C# IDE. // 3. Add a reference to: // install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll. // 4. Open the Immediate window. // 5. Add references to System and System.Windows.Forms. // 6. Start DraftSight and open a new document. // 7. Press F5. // // // Postconditions: // 1. Gets the transparency object for the active Layer and prints its // transparency percentage to the Immediate window. // 2. Changes the transparency percentage of the active Layer and prints // its new percentage to the Immediate window. // 3. Creates and activates a new TableStyle named Sample Table Style. // 4. Inserts a Table and applies the Sample Table Style TableStyle. // 5. Gets the transparency object for the Table. // 6. Prints whether the transparency object for the Table is ByLayer. // 7. If not, then changes and updates the transparency object // of the Table to ByLayer. // 8. Changes the top row's background color. // 9. Changes the background color of the cell in the second row // and second column to match the top row's background color. //10. Prints the name of the TableStyle to the Immediate window. //11. Examine the drawing and the Immediate window. //----------------------------------------------------------------
using DraftSight.Interop.dsAutomation; using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnostics; static class Module1{ public static void Main() { DraftSight.Interop.dsAutomation.Application dsApp; //Connect to DraftSight application dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application"); //Abort any command currently running in DraftSight //to avoid nested commands dsApp.AbortRunningCommand(); //Get active document Document dsDoc = default(Document); dsDoc = dsApp.GetActiveDocument(); if (dsDoc == null) { MessageBox.Show("There are no open documents in DraftSight."); return; }
//Get how transparency is defined LayerManager dsLayerManager = default(LayerManager); Layer dsLayer = default(Layer); dsLayerManager = dsDoc.GetLayerManager(); dsLayer = dsLayerManager.GetActiveLayer(); Debug.Print("Transparency percentage for active Layer: " + Convert.ToString(dsLayer.Transparency)); //Set new transparency percentage for the active Layer dsLayer.Transparency = 50; Debug.Print("New transparency percentage for active Layer: " + Convert.ToString(dsLayer.Transparency)); //Get the TableStyle Manager TableStyleManager dsTableStyleManager = default(TableStyleManager); dsTableStyleManager = dsDoc.GetTableStyleManager(); //Create the TableStyle TableStyle dsTableStyle = default(TableStyle); string sampleTableStyle = null; sampleTableStyle = "Sample Table Style"; dsCreateObjectResult_e result; dsTableStyleManager.CreateTableStyle(sampleTableStyle, out dsTableStyle, out result); //Set the TableStyle styles //Create the Table in a downward direction dsTableStyle.HeaderOrientation = dsTableHeaderOrientation_e.dsTableHeaderOrientation_Down; //Set the Colors for the Table backgrounds Color dsColorHeader = default(Color); Color dsColorData = default(Color); Color dsColorTitle = default(Color);
dsColorHeader = dsTableStyle.GetBackgroundColor(dsTableCellType_e.dsTableCellType_Header); dsColorHeader.SetNamedColor(dsNamedColor_e.dsNamedColor_Cyan); dsTableStyle.SetBackgroundColor(dsTableCellType_e.dsTableCellType_Header, dsColorHeader); dsColorData = dsTableStyle.GetBackgroundColor(dsTableCellType_e.dsTableCellType_Data); dsColorData.SetNamedColor(dsNamedColor_e.dsNamedColor_Green); dsTableStyle.SetBackgroundColor(dsTableCellType_e.dsTableCellType_Data, dsColorData); dsColorTitle = dsTableStyle.GetBackgroundColor(dsTableCellType_e.dsTableCellType_Title); dsColorTitle.SetNamedColor(dsNamedColor_e.dsNamedColor_White); dsTableStyle.SetBackgroundColor(dsTableCellType_e.dsTableCellType_Title, dsColorTitle);
//Activate the TableStyle dsTableStyle.Activate(); //Get the model document Model dsModel = default(Model); dsModel = dsDoc.GetModel(); //Get the Sketch Manager SketchManager dsSketchManager = default(SketchManager); dsSketchManager = dsModel.GetSketchManager(); //Insert the Table Table dsTable = default(Table); double x = 0; x = 6; double y = 0; y = 6; int row = 0; row = 4; int col = 0; col = 5; double rowHeight = 0; rowHeight = 2; double colWidth = 0; colWidth = 4; dsTable = dsSketchManager.InsertTable(x, y, row, col, rowHeight, colWidth, dsTableCellType_e.dsTableCellType_Title, dsTableCellType_e.dsTableCellType_Header, dsTableCellType_e.dsTableCellType_Data);
//Get transparency object for Table Transparency dsTransparency = default(Transparency); dsTransparency = dsTable.Transparency; //Find out if Table's transparency is ByLayer Debug.Print ("Transparency defined ByLayer: " + Convert.ToString(dsTransparency.IsByLayer())); //If not, then change Table's transparency to ByLayer and //update Table's transparency object if (dsTransparency.IsByLayer() == false) { dsTransparency.SetByLayer(); Debug.Print("Transparency now ByLayer: " + Convert.ToString(dsTransparency.IsByLayer())); //Update Table's transparency object dsTable.Transparency = dsTransparency; } //Change Table's top row's background color dsColorTitle.SetNamedColor(dsNamedColor_e.dsNamedColor_Yellow); dsTable.SetBackgroundColor(dsTableCellType_e.dsTableCellType_Title, dsColorTitle); //Change background color of cell in second row and //second column to match the top row's background color dsTable.SetCellBackgroundColor(1,1,dsColorTitle); //Get the name of the TableStyle for the just-inserted Table Debug.Print("TableStyle applied to this table: " + dsTableStyle.Name);
//Zoom to fit dsApp.Zoom(dsZoomRange_e.dsZoomRange_Fit, null, null); } }