Gets the sub component ElementIds of the current family instance.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)
Syntax
C#
public ICollection<ElementId> GetSubComponentIds()
Return Value
ICollection<ElementId>The subcomponent ElementIDs
Example
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); } }
VB
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