C# 提取包含CAD文件的所有外部链接

C# 提取包含CAD文件的所有外部链接,c#,autocad,autocad-plugin,C#,Autocad,Autocad Plugin,有没有办法提取所有包含CAD文件的外部链接文件 有c#或其他编程语言的库吗?提前感谢。特别示例为: ObjectIdCollection XRefs = new ObjectIdCollection(); Database db = HostApplicationServices.WorkingDatabase; using (Transaction tr = db.TransactionManager.StartTransaction()) { BlockTable blocks =

有没有办法提取所有包含CAD文件的外部链接文件


有c#或其他编程语言的库吗?提前感谢。

特别示例为:

ObjectIdCollection XRefs = new ObjectIdCollection();

Database db = HostApplicationServices.WorkingDatabase;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
    BlockTable blocks = tr.GetObject(db.BlockTableId, OpenMode.ForRead, false) as BlockTable;
    foreach (ObjectId blockId in blocks)
    {
        BlockTableRecord bx = tr.GetObject(blockId, OpenMode.ForRead, false) as BlockTableRecord;
        if (bx.IsFromExternalReference)
        {
            ObjectIdCollection references = bx.GetBlockReferenceIds(true, true);
            foreach (ObjectId ref in references)
            XRefs.Add (ref)
        }
    }
    tr.Dispose()
}

“外部链接”是指块外部参照(XRef)吗?或AcDbEntity::Hyperlinks属性?第一个外部引用。谢谢。嗨,要编译这些代码,我想我必须在c#项目中安装AutoCAD.NET。但是我的项目是4.5版本。我必须找到匹配的版本。原始CAD文件在哪里打开?此代码可以在基于ObjectARX的project中编译。因此,输出为dll文件,可通过AutoCAD中的_netload命令加载到AutoCAD。不需要nuget包。我的项目基于.NETFramework4。使用参考的ARX sdk库。绘图是在AutoCAD中打开的,老实说,在我的例子中是ZWCAD,但这应该没有什么区别。