GetSubComponentIds Method


Gets the sub component ElementIds of the current family instance.

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

Syntax

C#
public ICollection<ElementId> GetSubComponentIds()
Visual Basic
Public Function GetSubComponentIds As ICollection(Of ElementId)
Visual C++
public:
ICollection<ElementId^>^ GetSubComponentIds()

Return Value

The subcomponent ElementIDs

Examples

Copy C#
public void GetSubAndSuperComponents(FamilyInstance familyInstance)
{
    ICollection<ElementId> subElemSet = familyInstance.GetSubComponentIds();
    if (subElemSet != null)
    {
        string subElems = "";
        foreach (Autodesk.Revit.DB.ElementId ee in subElemSet)
        {
            FamilyInstance f = familyInstance.Document.GetElement(ee) as FamilyInstance;
            subElems = subElems + f.Name + "\n";
        }
        TaskDialog.Show("Revit","Subcomponent count = " + subElemSet.Count + "\n" + subElems);
    }
    FamilyInstance super = familyInstance.SuperComponent as FamilyInstance;
    if (super != null)
    {
        TaskDialog.Show("Revit","SUPER component: " + super.Name);
    }
}
Copy VB.NET
Public Sub GetSubAndSuperComponents(familyInstance As FamilyInstance)
    Dim subElemSet As ICollection(Of ElementId) = familyInstance.GetSubComponentIds()
    If subElemSet IsNot Nothing Then
        Dim subElems As String = ""
        For Each ee As Autodesk.Revit.DB.ElementId In subElemSet
            Dim f As FamilyInstance = TryCast(familyInstance.Document.GetElement(ee), FamilyInstance)
            subElems = subElems + f.Name & vbLf
        Next
        TaskDialog.Show("Revit", "Subcomponent count = " & subElemSet.Count & vbLf & subElems)
    End If
    Dim super As FamilyInstance = TryCast(familyInstance.SuperComponent, FamilyInstance)
    If super IsNot Nothing Then
        TaskDialog.Show("Revit", "SUPER component: " + super.Name)
    End If
End Sub

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →