Subscribe to the FailuresProcessing event to be notified when failures are being processed at the end of transaction.
Namespace: Autodesk.Revit.ApplicationServices
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since:
2011
Syntax
Remarks
Examples
CopyC#
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Automatic)]
public class NoUnenclosedRoomWarnings : IExternalApplication
{
static AddInId m_appId = new AddInId(new Guid("EB296268-8364-4d25-96E6-F664C608503C"));
public Result OnStartup(UIControlledApplication application)
{
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();
foreach (FailureMessageAccessor failure in failList)
{
FailureDefinitionId failID = failure.GetFailureDefinitionId();
if (failID == BuiltInFailures.RoomFailures.RoomNotEnclosed)
{
fa.DeleteWarning(failure);
}
}
}
}
CopyVB.NET
<Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Automatic)> _
Public Class NoUnenclosedRoomWarnings
Implements IExternalApplication
Shared m_appId As New AddInId(New Guid("EB296268-8364-4d25-96E6-F664C608503C"))
Public Function OnStartup(application As UIControlledApplication) As Autodesk.Revit.UI.Result Implements IExternalApplication.OnStartup
AddHandler application.ControlledApplication.FailuresProcessing, AddressOf CheckWarnings
Return Result.Succeeded
End Function
Public Function OnShutdown(application As UIControlledApplication) As Autodesk.Revit.UI.Result Implements IExternalApplication.OnShutdown
Return Result.Succeeded
End Function
Private Sub CheckWarnings(sender As Object, e As FailuresProcessingEventArgs)
Dim fa As FailuresAccessor = e.GetFailuresAccessor()
Dim failList As IList(Of FailureMessageAccessor) = New List(Of FailureMessageAccessor)()
failList = fa.GetFailureMessages()
For Each failure As FailureMessageAccessor In failList
Dim failID As FailureDefinitionId = failure.GetFailureDefinitionId()
If failID = BuiltInFailures.RoomFailures.RoomNotEnclosed Then
fa.DeleteWarning(failure)
End If
Next
End Sub
End Class
See Also