2027 Class
Changes 8
C

Category

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