Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures是Revit API中提供的一组预设失败(Failure)。这些预设失败主要与结构资产(Structural Asset)相关。
结构资产包括:梁、柱、楼板等构件的截面、材料属性信息等。其管理是结构设计人员非常关注的内容。Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures提供了一些常见的失败类型,用于检查和提示在结构资产处理过程中可能存在的问题。
下面列出了Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures中提供的预设失败:
以上预设失败是Revit API中提供的一些常用失败类型,有助于开发人员对结构资产进行检查,确保其正确性和完整性。
以下是一个使用Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures的示例:
try
{
// 确认结构材料参数名称不为空
if (string.IsNullOrEmpty(structuralMaterialParameterName))
throw new ArgumentException("参数名称不能为空。", "structuralMaterialParameterName");
// 确认结构材料参数值不为空
if (string.IsNullOrEmpty(structuralMaterialParameterValue))
throw new ArgumentException("参数值不能为空。", "structuralMaterialParameterValue");
// 确认结构材料参数名称存在于预设列表中
if (structuralMaterialParameterName != BuiltInParameter.DELETE_EXISTING_ELEMENTS.ToString() &&
structuralMaterialParameterName != BuiltInParameter.ELEMENT_MARK.ToString() &&
structuralMaterialParameterName != BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS.ToString())
{
Autodesk.Revit.DB.FailureMessageId failure =
Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures.InvalidStructuralMaterialParameterName;
throw new Autodesk.Revit.Exceptions.FailureException(failure);
}
// 确认结构材料参数值是正数
double parameterValue;
if (!double.TryParse(structuralMaterialParameterValue, out parameterValue))
{
Autodesk.Revit.DB.FailureMessageId failure =
Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures.InvalidStructuralMaterialParameterValue;
throw new Autodesk.Revit.Exceptions.FailureException(failure);
}
else if (parameterValue <= 0.0)
{
Autodesk.Revit.DB.FailureMessageId failure =
Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures.InvalidStructuralMaterialParameterValue;
throw new Autodesk.Revit.Exceptions.FailureException(failure);
}
// TODO: 结构材料处理逻辑
}
catch (Autodesk.Revit.Exceptions.FailureException ex)
{
Autodesk.Revit.UI.TaskDialog.Show("错误", ex.FailureDefinition.ToString());
}
在这个示例中,我们向上层代码返回故障(Failure)。如果结构材料参数名称不是预设列表中的任何一个,或者结构材料参数值为负数,我们会抛出对应的预设失败类型。
当预设失败引发后,我们使用Autodesk.Revit.UI.TaskDialog来提醒用户当前发生的错误。
Autodesk.Revit.DB.BuiltInFailures.StructuralAssetFailures是Revit API中提供的一组预设失败。这些预设失败主要用于结构资产的检查和提示,能够有效帮助开发人员保障结构资产的正确性和完整性。在开发Revit插件时,您可以使用这些预设失败类型来编写更加鲁棒的代码。