12/06/2014
					Создание нового слоя и установка его текущим
Следующий код показывает процедуру создания нового слоя. Все слои хранятся в символьной таблице, называемой таблицей слоёв. Чтобы сделать любой слой текущим, нужно установить свойство Clayer объекта Database в идентификатор объекта слоя.
Код - C#: [Выделить]
- [CommandMethod("AddLayer")]
 - public void AddLayer()
 - {
 - Document doc = Application.DocumentManager.MdiActiveDocument;
 - Database db = doc.Database;
 - Editor ed = doc.Editor;
 - using (Transaction tr = db.TransactionManager.StartTransaction())
 - {
 - LayerTable ltb = (LayerTable)tr.GetObject(db.LayerTableId,
 - OpenMode.ForRead);
 - // Создаём новый слой.
 - if (!ltb.Has("NewLayer"))
 - {
 - ltb.UpgradeOpen();
 - LayerTableRecord newLayer = new LayerTableRecord();
 - newLayer.Name = "NewLayer";
 - newLayer.LineWeight = LineWeight.LineWeight005;
 - newLayer.Description = "Это новый слой ";
 - // Красный цвет в формате RGB
 - newLayer.Color =
 - Autodesk.AutoCAD.Colors.Color.FromRgb(255, 0, 0);
 - ltb.Add(newLayer);
 - tr.AddNewlyCreatedDBObject(newLayer, true);
 - }
 - ObjectId idl = ltb["NewLayer"];
 - tr.Commit();
 - // Делаем его текущим
 - db.Clayer = idl;
 - }
 - }
 
Источник: http://adndevblog.typepad.com/autocad/2012/06/adding-a-new-layer-and-making-it-current-layer.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=800
Опубликовано 12.06.2014Отредактировано 12.06.2014 в 20:07:49