Как получить все открытые документы AutoCad (чертежи) с помощью.NET
Я использую AutoCAD 2012 и.NET API. Может кто-нибудь помочь мне, как я могу пройтись по объектам документа всех открытых документов? я пытаюсь сделать что-то вроде кода ниже.. У меня есть этот вопрос на Autodesk Forum тоже.. но не уверен, насколько он активен:)
public void GetDocNames()
{
DocumentCollection docs = Application.DocumentManager;
for (int i = 0; i < docs.Count; i++)
{
AcadDocument doc = docs[i];
Debug.Print(doc.Name);
}
}
2 ответа
Решение
Вы пометили как C#, так и VB.NET. Версия C# выглядит следующим образом:
public void GetDocNames()
{
DocumentCollection docs = Application.DocumentManager;
foreach (Document doc in docs)
{
Application.ShowAlertDialog(doc.Name);
}
}
Версия VB.NET:
Private Sub getAcadDocNames()
'collection of all opened documents
Dim AcadDocs As DocumentCollection = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager
For Each doc As Document In AcadDocs
Debug.Print(doc.Name)
Next doc
End Sub
Обратите внимание, что вы можете полностью указать путь к свойству DocumentManager (как я сделал здесь), если вы также импортировали System.Windows.Forms
(который также имеет Application
Пространство имен).