Autodesk.Revit.DB.FailureDefinitionRegistry是Revit API中的一个类,用于管理Revit失败操作的定义。
Autodesk.Revit.DB.FailureDefinitionRegistry类有一个无参的构造函数,用于创建一个空的失败操作定义注册表。
public void AddFailureDefinition(FailureDefinition failureDefinition)
向注册表中添加一个失败操作的定义。
参数:
public IList<FailureDefinitionId> GetFailureDefinitionIds()
获取注册表中所有失败操作的定义的Id。
返回值:
public FailureDefinition GetFailureDefinition(FailureDefinitionId failureDefinitionId)
根据Id获取注册表中一个失败操作的定义。
参数:
返回值:
public bool TryAddCriteria(FailureDefinitionId failureDefinitionId, BuiltInFailures preDefinedFailure, BuiltInParameter builtInParameter, params string[] additionalElements)
向失败操作的定义中添加一个元素标准。
参数:
返回值:
var failureRegistry = new FailureDefinitionRegistry();
var myFailure = FailureDefinition.Create("My Failure", FailureSeverity.Warning);
failureRegistry.AddFailureDefinition(myFailure);
var result = failureRegistry.GetFailureDefinitionIds();
foreach(var id in result)
{
var definition = failureRegistry.GetFailureDefinition(id);
if(definition != null)
{
failureRegistry.TryAddCriteria(id, BuiltInFailures.RoomFailures.FailsToMeetAdjacencyRule, BuiltInParameter.ROOM_AREA, "Additional Element 1", "Additional Element 2");
}
}
以上代码创建一个空的失败操作定义注册表,向其中添加一个名为“My Failure”的失败操作定义,并获取所有定义的Id。之后为所有添加的定义添加元素标准。