Autodesk.Revit.DB.BuiltInFailures.SheetFailures是Revit API中的一部分,提供了Sheet创建或编辑时可能出现的错误或警告的列表。
以下是一些常见的Sheet错误类型:
Autodesk.Revit.DB.BuiltInFailures.SheetFailures中包含许多的Sheet错误类型。在创建Sheet时,可以使用以下代码段捕获错误:
FailureHandlingOptions options = doc.GetFailureHandlingOptions();
options.SetFailuresPreprocessor(new SheetFailuresPreProcessor());
doc.SetFailureHandlingOptions(options);
以下代码示例演示了如何使用Autodesk.Revit.DB.BuiltInFailures.SheetFailures捕获Sheet错误:
public class SheetFailuresPreProcessor : IFailuresPreprocessor
{
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
{
IList<FailureMessageAccessor> failures = failuresAccessor.GetFailureMessages();
foreach (FailureMessageAccessor failure in failures)
{
FailureSeverity severity = failure.GetSeverity();
if (severity == FailureSeverity.Warning)
{
failuresAccessor.DeleteWarning(failure);
}
else if (severity == FailureSeverity.Error)
{
string failureMessage = failure.GetDescriptionText();
if (failureMessage.Contains(Autodesk.Revit.DB.BuiltInFailures.SheetFailures.SheetPlaceholderInconsistentSize))
{
failuresAccessor.ResolveFailure(failure);
}
else if (failureMessage.Contains(Autodesk.Revit.DB.BuiltInFailures.SheetFailures.SheetDuplicateNumber))
{
failuresAccessor.DeleteWarning(failure);
}
else if (failureMessage.Contains(Autodesk.Revit.DB.BuiltInFailures.SheetFailures.SheetPlaceholderIncorrectlyPlaced))
{
failuresAccessor.ResolveFailure(failure);
}
}
}
return FailureProcessingResult.Continue;
}
}
Autodesk.Revit.DB.BuiltInFailures.SheetFailures是Revit API中提供的一组Sheet错误类型,可以帮助开发者捕获和处理Sheet创建和编辑时的错误。在开发Revit插件时,可以使用SheetFailuresPreProcessor类来拦截和处理Sheet错误。