def to_category(category_reference, fuzzy=True): """ Coerces a category, category name or category id to a BuiltInCategory. >>> from rpw.utils.coerce import to_category >>> to_category('OST_Walls') BuiltInCategory.OST_Walls >>> to_category('Walls') BuiltInCategory.OST_Walls >>> to_category(BuiltInCategory.OST_Walls) BuiltInCategory.OST_Walls Args: cateagory_reference ([``DB.BuiltInCategory``, ``str``, ``CategoryId``]): Category Reference or Name Returns: [``BuiltInCategory``]: BuiltInCategory """ if isinstance(category_reference, DB.BuiltInCategory): return category_reference if isinstance(category_reference, str): if fuzzy: return BicEnum.fuzzy_get(category_reference) else: return BicEnum.get(category_reference) if isinstance(category_reference, DB.ElementId): return BicEnum.from_category_id(category_reference) raise RpwTypeError('Category Type, Category Type Name', type(category_reference))
def _builtin_enum(self): """ Returns BuiltInCategory of the Category """ return BicEnum.from_category_id(self._revit_object.Id)