如何使用.NET获取所有打开的AutoCad文档(图纸)

时间:2012-05-28 10:55:31

标签: c# vb.net autocad autodesk objectarx

我正在使用AutoCAD 2012和.NET API。有人可以帮助我如何循环遍历所有打开文档的文档对象?我正在尝试做类似下面的代码。我在Autodesk论坛上也有这个问题..但不确定它有多少活动:)

public void GetDocNames()
        {
            DocumentCollection docs = Application.DocumentManager;

            for (int i = 0; i < docs.Count; i++)
            {
                AcadDocument doc = docs[i];
                Debug.Print(doc.Name);
            }
        }

2 个答案:

答案 0 :(得分:3)

您已标记C#和VB.NET。 C#版本如下:

public void GetDocNames()
{
  DocumentCollection docs = Application.DocumentManager;

  foreach (Document doc in docs)
  {
    Application.ShowAlertDialog(doc.Name);
  }
}

答案 1 :(得分:2)

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

请注意,如果您还导入了System.Windows.Forms(也有Application命名空间),您可能希望完全限定DocumentManager属性的路径(就像我在这里所做的那样)。 / p>