Autodesk.Revit.DB.ScheduleDefinition
是 Revit API
中的一个类,在 Revit
中用于定义可视的表格形式的 Schedule
,例如楼板表,管线表等。它提供了创建、修改、删除、过滤、排序等的功能,以满足使用者对表格形式的需求。
Autodesk.Revit.DB.ScheduleDefinition
类有以下两个构造函数:
public ScheduleDefinition(Document doc, ElementId categoryId):根据文档和指定的元素类型 categoryId
创建一个 ScheduleDefinition
实例。
public ScheduleDefinition(Document doc, ElementId categoryId, ICollection<BuiltInParameter> parameters):根据文档和指定的元素类型 categoryId
创建一个 ScheduleDefinition
实例并指定其列参数。
Autodesk.Revit.DB.ScheduleDefinition
类中常用的属性如下:
Category:获取或设置该 Schedule 所关联的元素类型 Category
。
FieldCount:获取表格中的字段数目。
GetField(int index):根据指定的索引值获取表格中的某个字段。
GetFieldIndex(BuiltInParameter parameterId):根据指定的内置参数 ID 获取该参数所对应的字段的索引。
GetSortGroupLevel(int groupIndex):根据组的索引值获取该组的排序等级。
SetSortGroupLevel(int groupIndex, int level):设置指定索引的组排序等级。
Autodesk.Revit.DB.ScheduleDefinition
类中常用的方法如下:
AddField(Field field):向表格中添加新的字段。
RemoveField(int index):根据索引值删除表格中的一个字段。
SetFieldSortOrder(int index, SortOrder sortOrder): 设置指定字段的排序方式。
SetFieldFilter(int index, FilterRule rule, UserDefinedRule udr): 对指定字段应用过滤条件。
SetFieldHeader(int index, string header):为指定的字段设置表格的标题。
// 创建一个 ScheduleDefinition 实例
ScheduleDefinition scheduleDefinition = new ScheduleDefinition(document, new ElementId(BuiltInCategory.OST_Floors));
// 定义 Schedule 列
ICollection<BuiltInParameter> parameters = new List<BuiltInParameter>()
{
BuiltInParameter.DEFAULT_COMMENT,
BuiltInParameter.ALL_MODEL_MARK,
BuiltInParameter.ALL_MODEL_TYPE_NAME
};
// 获取 Schedule 关联的元素类型
Category category = scheduleDefinition.Category;
// 向 Schedule 中添加新的列
foreach (var parameter in parameters)
{
scheduleDefinition.AddField(new Field(parameter, true));
}