Autodesk.Revit.DB.FormArray 是用于在 Autodesk Revit 中管理多个表单元素的类,它表示一组表单元素的集合。它是 Revit API 中的一部分,通常用于创建和修改 Revit 模型中的表单元素。 FormArray 类在 Revit 中可被用于以下应用场景:
FormArray 类有以下两种构造函数:
public FormArray(Document document, ICollection<ElementId> ids);
public FormArray(Document document, IEnumerable<Element> elements);
document - Document,指定此 FormArray 所属的文档对象。ids - ICollection<ElementId>,包含要在 FormArray 中添加的表单元素的元素 ID。elements - IEnumerable<Element>,包含要在 FormArray 中添加的表单元素。以下是 FormArray 类的重要属性:
Count - int,获取 FormArray 中包含的元素数量。Item - Element,指定一个索引以获取或设置 FormArray 中的元素。以下是 FormArray 类的重要方法:
Add - 向 FormArray 中添加一个元素。如果 FormArray 中已有该元素,则不执行操作。Remove - 从 FormArray 中删除指定元素。如果 FormArray 中不存在该元素,则不执行操作。以下示例演示如何使用 FormArray 类来获取 Revit 文档中的所有表单元素:
public List<Element> GetAllForms(Document doc)
{
var collector = new FilteredElementCollector(doc);
var forms = collector.OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>().Where(x => x.Symbol.Family.IsFormFamiliy);
var formArray = new FormArray(doc, forms);
var allForms = new List<Element>();
for (var i = 0; i < formArray.Count; i++)
{
allForms.Add(formArray.Item[i]);
}
return allForms;
}
此示例首先从文档中获取所有表单族实例,然后将它们添加到 FormArray 中。最后,它遍历 FormArray 来获取所有表单元素,并将它们添加到一个 List 对象中。