2017-01-28 2 views
1

Je dois décharger par lots tous les types liés du fichier Revit. Jusqu'à présent, j'ai trouvé le code qui prend en charge des liens Revit, grâce à l'un des messages deComment décharger tous les liens (Revit, CAD, Pointcloud, IFC) de revit dans C# macro

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); 
     } 

Je dois aussi prendre soin de tous les liens, y compris CAD, la SFI, PointCloud Il semble que l'API Revit n'autorise pas la même fonctionnalité pour CADlinktype.

S'il vous plaît, conseiller et merci de votre aide!

Répondre

1

J'ai mis en œuvre une solution pour supprimer les liens DWF, CmdRemoveDwfLinks. Il est fourni en tant que commande externe dans The Building Coder samples GitHub repo. La documentation complète de la commande est fournie sur le blog Building Coder dans la discussion sur removing DWF Links, y compris beaucoup d'informations de fond et de recherches qui pourraient bien vous aider à gérer d'autres types de liens. Bonne chance!