forms.alert("Parameter {0} not found in {1}".format(
                selected_switch_parameter, category_name),
                        exitscript=True)
        decode_valuestring(target_parameter_value, target_category,
                           target_parameter)
    else:
        try:
            target_parameter_value = ele.Parameter[target_parameter].AsDouble()
        except:
            forms.alert("Parameter {0} not found in {1}".format(
                selected_switch_parameter, category_name),
                        exitscript=True)
        param_id = DB.ElementId(target_parameter)
        param_prov = DB.ParameterValueProvider(param_id)
        param_equality = DB.FilterNumericEquals()  # equality class for double
        value_rule = DB.FilterDoubleRule(param_prov, param_equality,
                                         target_parameter_value, 1e-3)
        param_filter = DB.ElementParameterFilter(value_rule)
elif selected_switch_parameter in ["Mark", "Comments"]:  # string values
    try:
        target_parameter_value = ele.Parameter[target_parameter].AsString()
    except:
        forms.alert("Parameter {0} not found in {1}".format(
            selected_switch_parameter, category_name),
                    exitscript=True)
    param_id = DB.ElementId(target_parameter)
    param_prov = DB.ParameterValueProvider(param_id)
    param_equality = DB.FilterStringEquals()  # equality class for string
    value_rule = DB.FilterStringRule(param_prov, param_equality,
                                     target_parameter_value, True)
    param_filter = DB.ElementParameterFilter(value_rule)
else:  #  value Strings
Exemple #2
0

import Autodesk.Revit.DB as DB


doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument

height_param_id = DB.ElementId(DB.BuiltInParameter.WALL_USER_HEIGHT_PARAM)

height_param_prov = DB.ParameterValueProvider(height_param_id)

param_equality = DB.FilterNumericEquals()

heigh_value_rule = DB.FilterDoubleRule(height_param_prov,
                                       param_equality,
                                       10.0,
                                       1E-6)

param_filter = DB.ElementParameterFilter(heigh_value_rule)


walls = DB.FilteredElementCollector(doc) \
          .WherePasses(param_filter) \
          .ToElementIds()


uidoc.Selection.SetElementIds(walls)



# for timing -------------------------------------------------------------------