// 获取消防报警设备的方法,传入文档对象和可选的族名称参数
//如果指定族名,则取得对应的实体,如果不指定,则读取全部电气设备
public List<FamilyInstance> GetFireAlarmDevices(Document doc, string family = "")
{
// 用于存储找到的消防报警设备的列表
List<FamilyInstance> elements = new List<FamilyInstance>();
try
{
// 创建一个过滤后的元素收集器,用于在文档中收集元素
FilteredElementCollector collector = new FilteredElementCollector(doc);
// 创建一个元素类过滤器,筛选出 FamilyInstance 类型的元素
ElementClassFilter classFilter = new ElementClassFilter(typeof(FamilyInstance));
// 创建一个元素类别过滤器,筛选出内置类别为消防报警设备的元素
ElementCategoryFilter catFilter = new ElementCategoryFilter(BuiltInCategory.OST_FireAlarmDevices);
// 创建一个逻辑与过滤器,同时满足类过滤器和类别过滤器的条件
LogicalAndFilter logicalFilter = new LogicalAndFilter(classFilter, catFilter);
// 将收集器设置为使用