Для Autocad в .Net у меня есть папка, содержащая файлы dwg, и я хочу удалить макеты, которые есть в каждом файле, кроме «Модель» и «Макет1». Я использую этот код для открытого файла в Autocad:
public void RemoveLayout(Transaction transaction, Database database, ObjectId layoutId)
{
if (!layoutId.IsErased)
{
Layout layout = transaction.GetObject(layoutId, OpenMode.ForRead) as Layout;
LayoutManager.Current.DeleteLayout(layout.LayoutName);
}
}
Но когда я пытаюсь открыть документы, находящиеся в моей папке, и сделать документ активным:
Document doc = Application.DocumentManager.Open(file, false);
Application.DocumentManager.MdiActiveDocument = doc;
LayoutManager.current
по-прежнему указывает на мой первый документ, поэтому я не могу удалить нужный макет, используя приведенный ниже код:
LayoutManager.Current.DeleteLayout(layout.LayoutName);