<Code Lib>
2026 Event
Changes 0
E

ControlledApplication.FailuresProcessing

Description:
Subscribe to the FailuresProcessing event to be notified when failures are being processed at the end of transaction.
Remarks:
This event is raised when failures are being processed during transaction commit or rollback operations. Handlers of this event have a limited ability to modify the document and/or failures in it, using provided restricted failures accessor interface.

public event EventHandler<FailuresProcessingEventArgs> FailuresProcessing

[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]

 public class NoUnenclosedRoomWarnings : IExternalApplication
 {
     static AddInId m_appId = new AddInId(new Guid("EB296268-8364-4d25-96E6-F664C608503C"));

     public Result OnStartup(UIControlledApplication application)
     {
         //Create an API application that subscribes to FailuresProcessing event for the lifetime of the session.
         application.ControlledApplication.FailuresProcessing += new EventHandler<FailuresProcessingEventArgs>(CheckWarnings);
         return Result.Succeeded;
     }

     public Result OnShutdown(UIControlledApplication application)
     {
         return Result.Succeeded;
     }

     private void CheckWarnings(object sender, FailuresProcessingEventArgs e)
     {
         FailuresAccessor fa = e.GetFailuresAccessor();
         IList<FailureMessageAccessor> failList = new List<FailureMessageAccessor>();
         failList = fa.GetFailureMessages(); // Inside event handler, get all warnings
         foreach (FailureMessageAccessor failure in failList)
         { 
             // check FailureDefinitionIds against ones that you want to dismiss, 
             FailureDefinitionId failID = failure.GetFailureDefinitionId();
             // prevent Revit from showing Unenclosed room warnings
             if (failID == BuiltInFailures.RoomFailures.RoomNotEnclosed)
             {
                 fa.DeleteWarning(failure);
             }
         }
     }
 }

Loading…