Я создаю новый слой и хочу, чтобы пользователь выбрал объект, который будет принадлежать новому слою
Document acDoc = Application.DocumentManager.MdiActiveDocument;
Database acCurDb = acDoc.Database;
using (Transaction OperateTransaction = acCurDb.TransactionManager.StartTransaction())
{
using (LayerTable LayerList = OperateTransaction.GetObject(acCurDb.LayerTableId, OpenMode.ForWrite) as LayerTable)
{
LayerTableRecord NewLayer = new LayerTableRecord();
NewLayer.Color = Autodesk.AutoCAD.Colors.Color.FromColor(Color.FromArgb(RandomNum.Next(255), RandomNum.Next(255), RandomNum.Next(255)));
NewLayer.Name = NewLayerName;
OperateTransaction.AddNewlyCreatedDBObject(NewLayer, true);
}
OperateTransaction.Commit();
}
PromptSelectionResult acSSPrompt = Application.DocumentManager.MdiActiveDocument.Editor.GetSelection();
if (acSSPrompt.Status == PromptStatus.OK)
{
//... Assign object to new layer
}
В AutoCAD 2013 и AutoCAD 2013 это работает, когда пользователь выбирает объект, он может видеть новый слой в AutoCAD, но в AutoCAD Mechanical 2016 он не работает, если моя программа .Net не закрывается.