Autodesk.Revit.DB.BuiltInFailures.UniqueElementFailures
类包含与Revit唯一元素问题相关的内置错误。 唯一元素是指要素,它们的标识符必须在文档中是唯一的。 例如,所有的视图ID必须是唯一的。
下表列出了Autodesk.Revit.DB.BuiltInFailures.UniqueElementFailures
的属性。
属性 | 描述 |
---|---|
DuplicateElement | 当尝试添加重复ID的元素时发生 |
DuplicateTypeIdExists | 因为复制或草图中的元素类型ID与文档中已存在的类型ID匹配而无法创建元素时发生 |
ImportInstanceTypeCollision | 在导入与当前文档中已有类型ID相同的类型时发生 |
InvalidId | ID无效或已删除 |
InvalidPhaseAssignment | 用户或API尝试在不允许的阶段上分配元素并引发此错误 |
NoUniqueTypeIdExists | 因为复制或草图中的元素类型ID与文档中不存在的类型ID匹配而无法创建元素时发生 |
TypeIdIsNotUniqueId | 尝试为元素分配类型ID,但该ID与文档中的其他类型ID重复时发生 |
以下示例演示如何在Revit API中使用Autodesk.Revit.DB.BuiltInFailures.UniqueElementFailures
。
try
{
// Attempt to create an element with duplicate ID
Autodesk.Revit.DB.Document doc = uidoc.Document;
Autodesk.Revit.DB.ElementId dupId = new Autodesk.Revit.DB.ElementId(1234);
Autodesk.Revit.DB.Wall wall = Autodesk.Revit.DB.Wall.Create(doc, dupId);
}
catch (Autodesk.Revit.Exceptions.InvalidOperationException ex)
{
// Catch the UniqueElementFailures.DuplicateElement exception and handle it
Autodesk.Revit.DB.FailureMessageUI fmui = Autodesk.Revit.DB.FailureMessageUI.GetFailureMessageUI(doc);
fmui.AddFailureException(ex);
fmui.ShowFailureDialog();
}
以上代码将创建具有重复ID的墙体元素,并在 catch 块中捕获 Autodesk.Revit.DB.BuiltInFailures.UniqueElementFailures.DuplicateElement
异常以进行处理。
您可以在Autodesk Revit API 帮助文档中了解更多相关信息。