RVTDocs.com
Namespace: Autodesk.Revit.DB

Category

Class
Description:
Represents the category or subcategory to which an element belongs.
Remarks:
Categories are an important tool within Revit for identifying the inferred type of an element, such as anything in the Walls category should be considered as a wall. The API exposes access to the built in categories within Revit via the Document.Settings.Categories property.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.APIObject
    Autodesk.Revit.DB.Category
Syntax
public class Category : APIObject
Examples
Element selectedElement = null;
foreach (ElementId id in uidoc.Selection.GetElementIds())
{
    selectedElement = document.GetElement(id);
    break;  // just get one selected element
}

// Get the category instance from the Category property
Category category = selectedElement.Category;

BuiltInCategory enumCategory = category.BuiltInCategory;

// Format the prompt string, which contains the category information
String prompt = "The category information of the selected element is: ";
prompt += "\n\tName:\t" + category.Name;   // Name information

prompt += "\n\tId:\t" + enumCategory.ToString();    // Id information
prompt += "\n\tParent:\t";
if (null == category.Parent)
{
    prompt += "No Parent Category";   // Parent information, it may be null
}
else
{
    prompt += category.Parent.Name;
}

prompt += "\n\tSubCategories:"; // SubCategories information, 
CategoryNameMap subCategories = category.SubCategories;
if (null == subCategories || 0 == subCategories.Size) // It may be null or has no item in it
{
    prompt += "No SubCategories;";
}
else
{
    foreach (Category ii in subCategories)
    {
        prompt += "\n\t\t" + ii.Name;
    }
}

// Give the user some information
TaskDialog.Show("Revit",prompt);
Category Class Members:
Name Description Inherited From
AllowsBoundParameters To check if the category can have project parameters.
AllowsVisibilityControl Whether the visibility can be controlled by the user for this category in this view.
BuiltInCategory Gets the BuiltInCategory value for this category.
CanAddSubcategory Indicates if subcategories can be assigned to the category.
CategoryType Gets the category type of this category.
HasMaterialQuantities Identifies if elements of the category are able to report what materials they contain in what quantities.
Id Returns the category id associated with the category object.
IsCuttable Indicates if the category is cuttable or not.
IsReadOnly Identifies if the object is read-only or modifiable. (Inherited from APIObject ) APIObject
IsTagCategory Identifies if the category is associated with a type of tag for a different category.
IsValid Indicates if the Category is valid or not.
IsVisibleInUI Identifies if the category is visible to the user and should be displayed in UI.
LineColor The color of lines shown for elements of this category.
Material Retrieves or changes the material of the category.
Name The category name.
Parent Returns the parent category of this category.
SubCategories Returns a map containing all of the subcategories of this category.
Visible Retrieves or changes the visibility of the category in the active view.
Name Description Inherited From
Dispose Causes the object to release immediately any resources it may be utilizing. (Inherited from APIObject ) APIObject
Equals Determines whether the specified object is equal to the current object. (Inherited from Object ) Object
GetBuiltInCategory Gets the BuiltInCategory value corresponding to the given built-in category identifier.
GetBuiltInCategoryTypeId Gets the ForgeTypeId identifying the given built-in category.
GetCategory(Document, BuiltInCategory) Retrieves a category object corresponding to a BuiltInCategory id.
GetCategory(Document, ElementId) Retrieves a category object corresponding to the category id.
GetGraphicsStyle Gets the graphics style associated with this category for the given graphics style type.
GetHashCode (Overrides Object . GetHashCode () )
GetLinePatternId Gets the line pattern id associated with this category for the given graphics style type.
GetLineWeight Retrieves the line weight assigned to the category for the given graphics style type.
GetType Gets the Type of the current instance. (Inherited from Object ) Object
IsBuiltInCategory Checks whether a ForgeTypeId identifies a built-in category.
IsBuiltInCategoryValid Checks if a Category exists for a given BuiltInCategory.
SetLinePatternId Sets the line pattern id associated with this category for the given graphics style type.
SetLineWeight Sets the line weight for the given graphics style type.
ToString Returns a string that represents the current object. (Inherited from Object ) Object