An element that represents a single type with a Family.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 20.0.0.0 (20.1.1.1)
 Syntax
Syntax
| C# | 
|---|
| public class FamilySymbol : InsertableObject | 
| Visual Basic | 
|---|
| Public Class FamilySymbol _ Inherits InsertableObject | 
| Visual C++ | 
|---|
| public ref class FamilySymbol : public InsertableObject | 
 Remarks
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
Examples
 CopyC#
CopyC#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); }
 CopyVB.NET
CopyVB.NETPublic 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 Sub
 Inheritance Hierarchy
Inheritance 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