@k005
[CommandMethod("cieCreateLayer")]
public static void CreateLayer()
{
var doc = aApp.Application.DocumentManager.MdiActiveDocument;
var db = doc.Database;
var editor = doc.Editor;
string layerName = "Grobeton";
// set osnap
aApp.Application.SetSystemVariable("OSMODE", 32 | 2 | 1); // Intersection, Mid Point, End Point
using (var ts = db.TransactionManager.StartTransaction())
{
// get layers table
var layersTable = (LayerTable)ts.GetObject(db.LayerTableId, OpenMode.ForWrite);
// create layer if not exist
if (layersTable.Has(layerName) == false)
{
var newLayer = new LayerTableRecord();
newLayer.Name = layerName;
layersTable.Add(newLayer);
ts.AddNewlyCreatedDBObject(newLayer, true);
}
// set color
var layer = (LayerTableRecord)layersTable[layerName].GetObject(OpenMode.ForWrite);
layer.Color = Color.FromRgb(255, 0, 0);
// set current layer
db.Clayer = layer.Id;
// commit changes
ts.Commit();
}
// send Line Cmd
doc.SendStringToExecute("MULTIPLE LINE ", true, false, false);
}