Hello,
You can use the logical filter to union those electrical related category filters. And then get all those elements list from the FilteredElementCollector.
The steps is like this. I didnot test the code. Replace the right category here in the first couple of lines.
<code>
public IList<Element> GetElectricalElements(Document doc)
{
ElementCategoryFilter catFilter1 = new ElementCategoryFilter(BuiltInCategory.OST****);
ElementCategoryFilter catFilter2 = new ElementCategoryFilter(BuiltInCategory.OST****);
ElementCategoryFilter catFilter3 = new ElementCategoryFilter(BuiltInCategory.OST****);
ElementCategoryFilter catFilter4 = new ElementCategoryFilter(BuiltInCategory.OST****);
ElementCategoryFilter catFilter5 = new ElementCategoryFilter(BuiltInCategory.OST****);
//create more filter here as needed.
IList<ElementFilter> list = New List<ElementFilter>();
list.Add(catFilter1);
list.Add(catFilter2);
list.Add(catFilter3);
list.Add(catFilter4);
list.Add(catFilter5);
//add more to the list here.
LogicalOrFilter orFilter = new LogicalOrFilter(list);
FilterElementCollector collector = new FilterElementCollector(doc);
collector.WherePasses(orFilter);
IList<Element> elementList = collector.ToElements();
}
<code>
Joe Ye
Contractor
Developer Technical Services
Autodesk Developer Network