Namespace:
Autodesk.Revit.DB
Family
Class
Description:
An element that represents a custom family (not a system family) in Autodesk Revit.
An element that represents a custom family (not a system family) in Autodesk Revit.
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.
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
public void GetInfoForSymbols(Family family)
{
StringBuilder message = new StringBuilder("Selected element's family name is : " + family.Name);
ISet<ElementId> familySymbolIds = family.GetFamilySymbolIds();
if (familySymbolIds.Count == 0)
{
message.AppendLine("Contains no family symbols.");
}
else
{
message.AppendLine("The family symbols contained in this family are : ");
// Get family symbols which is contained in this family
foreach (ElementId id in familySymbolIds)
{
FamilySymbol familySymbol = family.Document.GetElement(id) as FamilySymbol;
// Get family symbol name
message.AppendLine("\nName: " + familySymbol.Name);
foreach (ElementId materialId in familySymbol.GetMaterialIds(false))
{
Material material = familySymbol.Document.GetElement(materialId) as Material;
message.AppendLine("\nMaterial : " + material.Name);
}
}
}
TaskDialog.Show("Revit",message.ToString());
}
Family Class Members:
Name | Description | Inherited From |
---|---|---|
AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) | Element |
BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) | Element |
Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) | Element |
CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) | Element |
CurtainPanelHorizontalSpacing | For Curtain Panel families, the horizontal spacing of the driving mesh. | |
CurtainPanelTilePattern | For Curtain Panel families, the choice of tile pattern. | |
CurtainPanelVerticalSpacing | For Curtain Panel families, the vertical spacing of the driving mesh. | |
DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) | Element |
DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) | Element |
Document | Returns the Document in which the Element resides. (Inherited from Element ) | Element |
FamilyCategory | Retrieves or sets a Category object that represents the category or sub category in which the elements ( this family could generate ) reside. | |
FamilyCategoryId | The id of the category or sub category in which the elements that this family could generate reside. | |
FamilyPlacementType | Identifies the type of placement required by a given family. | |
Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) | Element |
GroupId | The id of the group to which an element belongs. (Inherited from Element ) | Element |
Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) | Element |
IsConceptualMassFamily | Whether the Family is a Conceptual Mass family. | |
IsCurtainPanelFamily | Whether the Family is a Curtain Panel family. Curtain Panel family symbols are used as the ObjectTypes of DividedSurface elements. | |
IsEditable | True if the family supports editing, false otherwise. | |
IsInPlace | True if the family is an in-place family, false if the family is a loadable family. | |
IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) | Element |
IsOwnerFamily | True if the family is the owner family for its own editable document, false otherwise. | |
IsParametric | Identifies whether the family contains parametric relations between some of its elements. | |
IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) | Element |
IsUserCreated | Determine whether the family has been defined by the user. | |
IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) | Element |
LevelId | The id of the level associated with the element. (Inherited from Element ) | Element |
Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) | Element |
Name | A human readable name for the Element. (Inherited from Element ) | Element |
OwnerViewId | The id of the view that owns the element. (Inherited from Element ) | Element |
Parameter[BuiltInParameter] | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) | Element |
Parameter[Definition] | Retrieves a parameter from the element based on its definition. (Inherited from Element ) | Element |
Parameter[Guid] | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) | Element |
Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) | Element |
ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) | Element |
Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) | Element |
ShowSpatialElementCalculationPoint | For families that can have a calculation point for spatial elements, hide or show the calculation point. SpatialElementCalculationPoint elements. | |
StructuralCodeName | The family's structural code name. | |
StructuralFamilyNameKey | The family's structural section shape name key. | |
StructuralMaterialType | The family's structural material type. | |
StructuralSectionShape | The family's structural section shape. | |
UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) | Element |
VersionGuid | Get the element version Guid. (Inherited from Element ) | Element |
ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) | Element |
WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) | Element |
Name | Description | Inherited From |
---|---|---|
ArePhasesModifiable | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) | Element |
CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) | Element |
CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) | Element |
CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) | Element |
CanHaveStructuralSection | Identifies if this Family can have a structural section. | |
CanHaveTypeAssigned() | Identifies if the element can have a type assigned. (Inherited from Element ) | Element |
CanLoadFamilies | Checks whether the document is in a state that allows the loading of families. | |
ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) | Element |
DeleteEntity | Deletes the existing entity created by %schema% in the element (Inherited from Element ) | Element |
DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) | Element |
DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) | Element |
Dispose | (Inherited from Element ) | Element |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) | Object |
EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) | Element |
EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) | Element |
ExtractPartAtom | Writes a PartAtom XML from the contents of a family object. | |
GetDependentElements | Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) | Element |
GetEntity | Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise. (Inherited from Element ) | Element |
GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) | Element |
GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) | Element |
GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) | Element |
GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) | Element |
GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) | Element |
GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) | Element |
GetFamilySymbolIds | Gets the ids of the FamilySymbols owned by this Family. | |
GetFamilyTypeParameterValues | Returns all applicable values for a FamilyType parameter of this family. | |
GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) | Element |
GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) | Element |
GetHashCode | Serves as the default hash function. (Inherited from Object ) | Object |
GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) | Element |
GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) | Element |
GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) | Element |
GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) | Element |
GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) | Element |
GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) | Element |
GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) | Element |
GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) | Element |
GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) | Element |
GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) | Element |
GetSubelements | Returns the collection of element subelements. (Inherited from Element ) | Element |
GetType | Gets the Type of the current instance. (Inherited from Object ) | Object |
GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) | Element |
GetValidTypes() | Obtains a set of types that are valid for this element. (Inherited from Element ) | Element |
HasLargeSketches | Checks whether the family contains sketches with a large number of elements. | |
HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) | Element |
IsAppropriateCategoryId | Identifies if the input category id can be assigned as the new category for this family. | |
IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) | Element |
IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) | Element |
IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) | Element |
IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) | Element |
IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) | Element |
IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) | Element |
IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) | Element |
IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) | Element |
IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) | Element |
LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) | Element |
RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) | Element |
RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) | Element |
SetEntity | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) | Element |
ToString | Returns a string that represents the current object. (Inherited from Object ) | Object |