An element that represents a single type with a Family. 
   Namespace:   Autodesk.Revit.DB  
  Assembly:   RevitAPI  (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0) 
Syntax
| C# | 
|---|
|  | 
| Visual Basic | 
|---|
|  | 
| Visual C++ | 
|---|
|  | 
Remarks
 Custom families within the Revit API represented by three objects - Family,  FamilySymbol  and  FamilyInstance  . Each object plays a significant part in the structure of families. The Family element represents the entire family that consists of a collection of types, such as an 'I Beam'. You can think of that object as representing the entire family file. The Family object contains a number of  FamilySymbol  elements. The  FamilySymbol  object represents a specific set of family settings within that Family and represents what is known in the Revit user interface as a Type, such as 'W14x32'. The  FamilyInstance  object represents an actual instance of that type placed the Autodesk Revit project. For example the  FamilyInstance  would be a single instance of a W14x32 column within the project. 
 Examples
 Copy  C#
 Copy  C# public void GetInfo_FamilySymbol(FamilySymbol familySymbol)
{
    string message;
    // Get FamilySymbol family name
    message = "Family name is : " + familySymbol.Family.Name;
    // Get FamilySymbol material
    message += "\nFamilySymbol materials are :";
    foreach (ElementId matid in familySymbol.GetMaterialIds(true))
    {
       Material material = familySymbol.Document.GetElement(matid) as Material;
       if (null != material)
       {
          message += "\n" + material.Name;
       }
    }
    TaskDialog.Show("Revit",message);
} Copy  VB.NET
 Copy  VB.NET Public Sub GetInfo_FamilySymbol(familySymbol As FamilySymbol)
    Dim message As String
    ' Get FamilySymbol family name
    message = "Family name is : " & Convert.ToString(familySymbol.Family.Name)
    ' Get FamilySymbol material
    message += vbLf & "FamilySymbol materials are :"
    For Each matid As ElementId In familySymbol.GetMaterialIds(True)
        Dim material As Material = TryCast(familySymbol.Document.GetElement(matid), Material)
        If material IsNot Nothing Then
            message += vbLf + material.Name
        End If
    Next
    TaskDialog.Show("Revit", message)
End SubInheritance Hierarchy
  System Object  
Autodesk.Revit.DB Element
Autodesk.Revit.DB ElementType
Autodesk.Revit.DB InsertableObject
Autodesk.Revit.DB FamilySymbol
Autodesk.Revit.DB AnnotationSymbolType
Autodesk.Revit.DB.Architecture RoomTagType
Autodesk.Revit.DB AreaTagType
Autodesk.Revit.DB.Mechanical SpaceTagType
Autodesk.Revit.DB MullionType
Autodesk.Revit.DB PanelType
Autodesk.Revit.DB.Structure TrussType
 
 Autodesk.Revit.DB Element
Autodesk.Revit.DB ElementType
Autodesk.Revit.DB InsertableObject
Autodesk.Revit.DB FamilySymbol
Autodesk.Revit.DB AnnotationSymbolType
Autodesk.Revit.DB.Architecture RoomTagType
Autodesk.Revit.DB AreaTagType
Autodesk.Revit.DB.Mechanical SpaceTagType
Autodesk.Revit.DB MullionType
Autodesk.Revit.DB PanelType
Autodesk.Revit.DB.Structure TrussType