2017-01-28 49 views
1

我需要从Revit文件批量卸载所有链接的类型。到目前为止,我通过如何从C#宏中的revit卸载所有链接(Revit,CAD,Pointcloud,IFC)

发现需要链接到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),点云 似乎Revit API不允许CADlinktype具有相同的功能。

请指教,谢谢你的帮助!

回答

1

我实施了一个解决方案来删除DWF链接,CmdRemoveDwfLinks。它在The Building Coder samples GitHub repo中作为外部命令提供。该命令的完整文档在关于removing DWF Links的讨论中的Building Coder博客上提供,其中包括大量的背景信息和研究,可能会帮助您处理其他链接类型。祝你好运!