繁体   English   中英

如何在 C# 宏中从 revit 卸载所有链接(Revit、CAD、Pointcloud、IFC)

[英]How to unload all links ( Revit, CAD, Pointcloud, IFC ) from revit in C# macro

我需要从 Revit 文件中批量卸载所有链接类型。 到目前为止,我找到了处理 Revit 链接的代码,这要归功于作者的一篇帖子

https://stackoverflow.com/users/200443/maxence

// Unload all links
        var loadedExternalFilesRef = new List<RevitLinkType>();
        var collector = new FilteredElementCollector(document);
        foreach (Element element in collector.OfClass(typeof(RevitLinkType)))
        {
            ExternalFileReference extFileRef = element.GetExternalFileReference();
            if (null == extFileRef || extFileRef.GetLinkedFileStatus() != LinkedFileStatus.Loaded) 
                continue;
            var revitLinkType = (RevitLinkType)element;
            loadedExternalFilesRef.Add(revitLinkType);
            revitLinkType.Unload(null);
        }

我还需要处理所有链接,包括 CAD、IFC、Pointcloud 似乎 Revit API 不允许 CADlinktype 具有相同的功能。

请指教并感谢您的帮助!

我实现了一个删除 DWF 链接的解决方案, CmdRemoveDwfLinks 它在The Building Coder 示例 GitHub 存储库中作为外部命令提供。 The Building Coder 博客上关于删除 DWF 链接的讨论中提供了该命令的完整文档,其中包括大量背景信息和研究,这些信息和研究也可以很好地帮助您处理其他链接类型。 祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM