NewSubcategory Method


Add a new subcategory into the Autodesk Revit document.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)

Syntax

C#
public Category NewSubcategory(
	Category parentCategory,
	string name
)
Visual Basic
Public Function NewSubcategory ( _
	parentCategory As Category, _
	name As String _
) As Category
Visual C++
public:
Category^ NewSubcategory(
	Category^ parentCategory, 
	String^ name
)

Parameters

parentCategory
Type: Autodesk.Revit.DB Category
The parent category.
name
Type: System String
The new category name.

Return Value

If successful, the newly created subcategory.

Examples

Copy C#
public void AssignSubCategory(Document document, GenericForm extrusion)
{
    // create a new subcategory 
    Category cat = document.OwnerFamily.FamilyCategory;
    Category subCat = document.Settings.Categories.NewSubcategory(cat, "NewSubCat");

    // create a new material and assign it to the subcategory
    ElementId materialId = Material.Create(document, "Wood Material");
    subCat.Material = document.GetElement(materialId) as Material;

    // assign the subcategory to the element
    extrusion.Subcategory = subCat;
}
Copy VB.NET
Public Sub AssignSubCategory(document As Document, extrusion As GenericForm)
    ' create a new subcategory 
    Dim cat As Category = document.OwnerFamily.FamilyCategory
    Dim subCat As Category = document.Settings.Categories.NewSubcategory(cat, "NewSubCat")

    ' create a new material and assign it to the subcategory
    Dim materialId As ElementId = Material.Create(document, "Wood Material")
    subCat.Material = TryCast(document.GetElement(materialId), Material)

    ' assign the subcategory to the element
    extrusion.Subcategory = subCat
End Sub

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentNullException Thrown when the input argument-"parentCategory" or "name"-is a null reference ( Nothing in Visual Basic) .
Autodesk.Revit.Exceptions ArgumentException Thrown when the input argument-"parentCategory"-cannot add subcategory. Thrown when the input argument-"name"-is an illegal name.
Autodesk.Revit.Exceptions InvalidOperationException Thrown when subcategory creation failed.

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →