public class Test:IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
Document document = commandData.Application.ActiveUIDocument.Document;
Transaction transaction = new Transaction(document, "Test");
FailureHandlingOptions failureOption = transaction.GetFailureHandlingOptions();
failureOption.SetFailuresPreprocessor(new FailuresPreprocessor());
transaction.SetFailureHandlingOptions(failureOption);
return Result.Succeeded;
}
}
public class FailuresPreprocessor : IFailuresPreprocessor
{
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
{
IList<FailureMessageAccessor> accessors = failuresAccessor.GetFailureMessages();
foreach (FailureMessageAccessor accessor in accessors)
{
if (accessor.GetSeverity() == FailureSeverity.Warning)
{
failuresAccessor.DeleteWarning(accessor);
}
}
return FailureProcessingResult.ProceedWithCommit;
}
}
如果你对Revit二次开发感兴趣,欢迎关注我的公众号一起学习~