Message 1 of 6
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Good day, I try to apply a filter rule based on the Rebar Number, as I have it in my code does not work, I do not know what I can be doing wrong. Thank you.
try { Element e = SelectElement(uidoc, sel) as Rebar; Rebar rb = e as Rebar; var parNumber = rb.GetParameterValueAtIndex(new ElementId(BuiltInParameter.REBAR_NUMBER), 0) as StringParameterValue; var rebarNumber = parNumber.Value; int valueNumber = Convert.ToInt32(rebarNumber); TaskDialog.Show("ff", valueNumber.ToString()); //crear filtro ParameterValueProvider provider = new ParameterValueProvider(new ElementId(builtRebarNumber)); FilterNumericRuleEvaluator evaluator = new FilterNumericEquals(); FilterRule rule = new FilterIntegerRule(provider, evaluator, valueNumber); ElementParameterFilter filter = new ElementParameterFilter(rule); //collector FilteredElementCollector collector = new FilteredElementCollector(view.Document, view.Id); //obtener todas las barras collector.OfCategory(BuiltInCategory.OST_Rebar).WherePasses(filter); ICollection<ElementId> rebars = collector.ToElementIds(); uidoc.Selection.SetElementIds(rebars); } catch { }
Solved! Go to Solution.