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

本文关键字:AutoCad 文档 图纸 NET 何使用 获取 | 更新日期: 2023-09-27 18:35:28

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

public void GetDocNames()
        {
            DocumentCollection docs = Application.DocumentManager;
            for (int i = 0; i < docs.Count; i++)
            {
                AcadDocument doc = docs[i];
                Debug.Print(doc.Name);
            }
        }

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

你已经标记了 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

请注意,如果您还System.Windows.Forms导入了 DocumentManager 属性(也具有Application命名空间),则可能需要完全限定 DocumentManager 属性的路径(如我在此处所做的那样)。