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
对象中。