Как получить все открытые документы 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 Пространство имен).

Другие вопросы по тегам