该类是Revit API的一部分,位于Autodesk.Revit.DB.BuiltInFailures命名空间中。
Autodesk.Revit.DB.BuiltInFailures.PerformanceFailures类是一组内置的Revit失败类型,用于表示在Revit中执行操作时可能发生的性能失败。这些失败类型提供了用于测试和分析性能的API。
该类包括以下子类:
使用Autodesk.Revit.DB.BuiltInFailures.PerformanceFailures类的步骤如下:
1.在Revit API中创建对BuiltInFailures.PerformanceFailures类的引用。
using Autodesk.Revit.DB.BuiltInFailures.PerformanceFailures;
2.使用以下方法之一实例化指定的失败类型:
public static FailureMessageAccessor GetDuplicateTypeFailure(Document document, ElementId typeId);
public static FailureMessageAccessor GetLargeTransactionFailure(Document document, int numberOfElements);
public static FailureMessageAccessor GetModelCurveTooSmallFailure(Document document, ElementId elementId);
3.可以使用事务API将失败添加到事务中,以便在出现失败时进行回滚。
以下示例说明了如何使用Autodesk.Revit.DB.BuiltInFailures.PerformanceFailures类的GetDuplicateTypeFailure方法。
public void CreateNewType(Document doc, FamilySymbol symbol)
{
BuiltInFailures.DuplicateTypeFailure failure = BuiltInFailures.DuplicateTypeFailure.GetDuplicateTypeFailure(
doc, symbol.Id);
using (Transaction trans = new Transaction(doc, "Create New Family Type"))
{
FailureHandlingOptions options = trans.GetFailureHandlingOptions();
options.SetFailuresPreprocessor(new BuiltInFailures.FailuresPreprocessor());
trans.SetFailureHandlingOptions(options);
trans.Start();
if (FailureProcessor.PromptForFailures(failure.GetFailure()) != FailureProcessingResult.Continue)
{
trans.RollBack();
return;
}
doc.Create.NewType(symbol, "New Type");
trans.Commit();
}
}