Message 1 of 4
Element Logical Filter with Filter String Rule Evaluators
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Filterable objects
1. Electrical Equipment with "Electical gangbox" --> BuiltInParameter.ELEM_FAMILY_PARAM --> String ElectricalEquipment = "Modular Gang Box"
2. Schedule level --> like "FFL(0)" --> BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM --> String elected_Floor_Element = "FFL(0)"
Please find below. How to fix it?
ParameterValueProvider pvp1 = new ParameterValueProvider(
new ElementId(BuiltInParameter.ELEM_FAMILY_PARAM));
ParameterValueProvider pvp2 = new ParameterValueProvider(
new ElementId(BuiltInParameter.INSTANCE_SCHEDULE_ONLY_LEVEL_PARAM));
FilterStringRuleEvaluator FsE = new FilterStringEquals();
FilterValueRule fvr1 = new FilterStringRule(pvp1, FsE, ElectricalEquipment);
FilterValueRule fvr2 = new FilterStringRule(pvp2, FsE, Selected_Floor_Element);
ElementParameterFilter filter1 = new ElementParameterFilter(fvr1);
ElementParameterFilter filter2 = new ElementParameterFilter(fvr2);
LogicalAndFilter filters = new LogicalAndFilter(filter1, filter2);
IEnumerable<Element> elems = new FilteredElementCollector(doc).OfClass(typeof(FamilyInstance))
.WherePasses(filters);