Autodesk.Revit.DB.ScheduleFieldId
是Revit API中的一个类,用于表示计划表中的字段ID。
ScheduleFieldId
没有公共构造函数。相反,可以通过调用静态方法ScheduleFieldId.GetScheduleFieldId
来获得实例。
public static ScheduleFieldId GetScheduleFieldId(Document document, ScheduleFieldType fieldType);
document
: Autodesk.Revit.DB.Document
类型,表示要获得计划表字段ID的Revit文档。fieldType
: Autodesk.Revit.DB.ScheduleFieldType
类型,表示要获得的计划表字段类型。返回一个Autodesk.Revit.DB.ScheduleFieldId
对象,表示指定类型的计划表字段。
ScheduleFieldId
具有两个只读属性,它们分别是:
FieldId
: 表示该字段的ID值。IsValid
: 表示该字段ID是否有效。以下示例演示如何获取计划表中的“Sheet Number”字段ID。
// Get the document
Document doc = commandData.Application.ActiveUIDocument.Document;
// Get the ScheduleFieldType object for the 'Sheet Number' field
ScheduleFieldType sheetNumberField = ScheduleFieldType.Instance.GetField(ScheduleFieldType.FieldId.SheetNumber);
// Get the ScheduleFieldId object for the 'Sheet Number' field
ScheduleFieldId sheetNumberFieldId = ScheduleFieldId.GetScheduleFieldId(doc, sheetNumberField);
// Example usage: get the 'Sheet Number' value for the first scheduled element in the document
FilteredElementCollector collector = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance));
IEnumerable<Element> elements = collector.ToElements();
foreach (Element element in elements)
{
ScheduleSheetInstance sheet = element as ScheduleSheetInstance;
if (sheet == null)
{
continue;
}
ScheduleSheetInstanceData sheetData = sheet.GetSheetInstanceData();
ScheduleSheetFieldData sheetFieldData = sheet.GetSheetFieldData(sheetNumberFieldId);
if (sheetFieldData.IsValid)
{
string sheetNumber = sheetFieldData.GetFieldValue(sheetData);
// Do something with the sheet number value...
}
}
Autodesk.Revit.DB.ScheduleFieldId
是Revit API中一个重要的类,可用于获取计划表中特定字段的ID值。由于构造函数是私有的,因此必须使用静态方法ScheduleFieldId.GetScheduleFieldId
来获得实例。