Autodesk.Revit.DB.BuiltInFailures.LoadFailures
是一个枚举类型,代表了Revit加载模型时可能发生的错误类型。
Autodesk.Revit.DB.BuiltInFailures.LoadFailures
枚举类型包含以下值:
CantGenerateViewsDueToPreviousErrors 无法生成视图,因为之前已经发生了错误。
DupliateUniqueId 模型中存在重复的唯一ID。
DuplicateParameterValue 模型中存在相同的参数值。
ErrorMessage 加载模型时发生错误。
FileNotFound 无法找到指定的文件。
InconsistentUnits 单位不一致。
InvalidFile 无效的文件格式。
LargeModel 模型文件过大。
MissingExternalReference 模型中缺少外部引用。
MissingFamilySymbol 无法找到指定的族符号。
MissingParameter 等待加载的族中缺少参数。
MultipleLinksNotAllowed 无法链接多个模型。
OutOfRangeParameterValue 参数值超出范围。
ParentNotInPlace 父元素未被放置。
UnresolvedReference 模型中存在未解决的引用。
以下示例展示了如何使用Autodesk.Revit.DB.BuiltInFailures.LoadFailures
枚举类型:
try
{
// 加载模型代码
}
catch (Autodesk.Revit.Exceptions.InvalidOperationException ex)
{
if (ex.Data.Contains("FailuresAccessor"))
{
FailureHandler failureHandler = FailuresAccessor.GetFailureHandler();
FailureDefinitionId duplicateUniqueIdId
= new FailureDefinitionId(BuiltInFailures.LoadFailures.DuplicateUniqueId);
if (failureHandler.IsFailureDefinitionRegistered(duplicateUniqueIdId))
{
FailureMessageAccessor failureMessageAccessor = ex.Data
.GetData("FailuresAccessor") as FailureMessageAccessor;
failureMessageAccessor
.SetFailureResolutionType(duplicateUniqueIdId, FailureResolutionType.DeleteElements);
FailureProcessingResult processingResult = failureHandler
.ProcessFailures(failureMessageAccessor);
if (processingResult.GetStatus() == FailureProcessingResultStatus.ProceededWithCommit)
{
// 提交更改
}
}
}
}