Family
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.
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());
}
| Name | Return Type | Description | Inherited From |
|---|---|---|---|
| CanHaveStructuralSection() | bool | Identifies if this Family can have a structural section. | |
| CanLoadFamilies(Document) | bool | Checks whether the document is in a state that allows the loading of families. | |
| ExtractPartAtom(String) | None | Writes a PartAtom XML from the contents of a family object. | |
| GetFamilySymbolIds() | ISet<ElementId> | Gets the ids of the FamilySymbols owned by this Family. | |
| GetFamilyTypeParameterValues(ElementId) | ElementType | Returns all applicable values for a FamilyType parameter of this family. | |
| HasLargeSketches() | bool | Checks whether the family contains sketches with a large number of elements. | |
| IsAppropriateCategoryId(ElementId) | bool | Identifies if the input category id can be assigned as the new category for this family. | |
| ArePhasesModifiable() | bool | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. | Element |
| CanBeHidden(View) | bool | Indicates if the element can be hidden in the view. | Element |
| CanBeLocked() | bool | Identifies if the element can be locked. | Element |
| CanDeleteSubelement(Subelement) | bool | Checks if given subelement can be removed from the element. | Element |
| CanHaveAnalyticalModel() | bool | Indicates whether the Element can have an Analytical Model. | Element |
| CanHaveTypeAssigned() | bool | Identifies if the element can have a type assigned. | Element |
| CanHaveTypeAssigned(Document, ICollection<ElementId>) | bool | Checks if all elements in the set can have a type assigned. | Element |
| ChangeTypeId(Document, ICollection<ElementId>, ElementId) | IDictionary | Changes the type of all elements in the given set. | Element |
| ChangeTypeId(ElementId) | ElementId | Changes the type of the element. | Element |
| DeleteEntity(Schema) | bool | Deletes the existing entity created by %schema% in the element | Element |
| DeleteSubelement(Subelement) | bool | Removes a subelement from the element. | Element |
| DeleteSubelements(IList<Subelement>) | bool | Removes the subelements from the element. | Element |
| Dispose() | None | Releases all resources used by the | Element |
| GetAnalyticalModelId() | Element Id. | Retrieves the Element Id of the Analytical Model Element for this Element. | Element |
| GetAnalyticalModel() | Writeable Analytical Model. | Retrieves writeable Analytical Model for Element. | Element |
| GetChangeTypeAny() | ChangeType | Returns ChangeType associated with any change in an element. | Element |
| GetChangeTypeElementAddition() | ChangeType | Returns ChangeType associated with element addition | Element |
| GetChangeTypeElementDeletion() | ChangeType | Returns ChangeType associated with element deletion. | Element |
| GetChangeTypeGeometry() | ChangeType | Returns ChangeType associated with a change in the geometry of an element | Element |
| GetChangeTypeParameter(ElementId) | ChangeType | Returns ChangeType associated with a change in a parameter's value | Element |
| GetChangeTypeParameter(Parameter) | ChangeType | Returns ChangeType associated with a change in a parameter's value | Element |
| GetDependentElements(ElementFilter) | IList<ElementId> | Get all elements that, from a logical point of view, are the children of this Element. | Element |
| GetEntity(Schema) | The returned Entity. | Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise. | Element |
| GetEntitySchemaGuids() | IList<Guid> | Returns the Schema guids of any Entities stored in this element. | Element |
| GetExternalFileReference() | ExternalFileReference | Gets information pertaining to the external file referenced by the element. | Element |
| GetExternalResourceReference(ExternalResourceType) | ExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. | Element |
| GetExternalResourceReferences() | IDictionary | Gets the full map of the external resource references referenced by the element. | Element |
| GetGeneratingElementIds(GeometryObject) | ICollection<ElementId> | Returns the ids of the element(s) that generated the input geometry object. | Element |
| GetGeometryObjectFromReference(Reference) | GeometryObject | Retrieve one geometric primitive contained in the element given a reference. | Element |
| GetMaterialArea(ElementId, Boolean) | double | Gets the area of the material with the given id. | Element |
| GetMaterialIds(Boolean) | ICollection<ElementId> | Gets the element ids of all materials present in the element. | Element |
| GetMaterialVolume(ElementId) | double | Gets the volume of the material with the given id. | Element |
| GetMonitoredLinkElementIds() | IList<ElementId> | Provides the link instance IDs when the element is monitoring. | Element |
| GetMonitoredLocalElementIds() | IList<ElementId> | Provides the local element IDs when the element is monitoring. | Element |
| GetOrderedParameters() | IList<Parameter> | Gets the parameters associated to the element in order. | Element |
| GetParameterFormatOptions(ElementId) | FormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. | Element |
| GetParameters(String) | IList<Parameter> | Retrieves the parameters from the element via the given name. | Element |
| GetPhaseStatus(ElementId) | ElementOnPhaseStatus | Gets the status of a given element in the input phase | Element |
| GetSubelements() | IList<Subelement> | Returns the collection of element subelements. | Element |
| GetTypeId() | ElementId | Returns the identifier of this element's type. | Element |
| GetValidTypes() | ICollection<ElementId> | Obtains a set of types that are valid for this element. | Element |
| GetValidTypes(Document, ICollection<ElementId>) | ICollection<ElementId> | Obtains a set of types that are valid for all given elements. | Element |
| HasPhases() | bool | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. | Element |
| IsExternalFileReference() | bool | Determines whether this Element represents an external file. | Element |
| IsHidden(View) | bool | Identifies if the element has been permanently hidden in the view. | Element |
| IsMonitoringLinkElement() | bool | Indicate whether an element is monitoring any elements in any linked models. | Element |
| IsMonitoringLocalElement() | bool | Indicate whether an element is monitoring other local elements. | Element |
| IsPhaseCreatedValid(ElementId) | bool | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. | Element |
| IsPhaseDemolishedValid(ElementId) | bool | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. | Element |
| IsValidType(Document, ICollection<ElementId>, ElementId) | bool | Checks if given type is valid for the set of elements. | Element |
| IsValidType(ElementId) | bool | Checks if given type is valid for this element. | Element |
| LookupParameter(String) | nullNothingnullptr | Attempts to find a parameter on the element which has the given name. | Element |
| RefersToExternalResourceReference(ExternalResourceType) | bool | Determines whether this Element uses external resources associated with a specified external resource type. | Element |
| RefersToExternalResourceReferences() | bool | Determines whether this Element uses external resources. | Element |
| SetEntity(Entity) | None | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. | Element |
| Name | Return Type | Description | Inherited From |
|---|---|---|---|
| CurtainPanelHorizontalSpacing | double | For Curtain Panel families, the horizontal spacing of the driving mesh. | |
| CurtainPanelTilePattern | TilePatternsBuiltIn | For Curtain Panel families, the choice of tile pattern. | |
| CurtainPanelVerticalSpacing | double | For Curtain Panel families, the vertical spacing of the driving mesh. | |
| FamilyCategoryId | ElementId | The id of the category or sub category in which the elements that this family could generate reside. | |
| FamilyCategory | Category | Retrieves or sets a Category object that represents the category or sub category in which the elements ( this family could generate ) reside. | |
| FamilyPlacementType | FamilyPlacementType | Identifies the type of placement required by a given family. | |
| IsConceptualMassFamily | bool | Whether the Family is a Conceptual Mass family. | |
| IsCurtainPanelFamily | bool | Whether the Family is a Curtain Panel family. Curtain Panel family symbols are used as the ObjectTypes of elements. | |
| IsEditable | bool | True if the family supports editing, false otherwise. | |
| IsInPlace | bool | True if the family is an in-place family, false if the family is a loadable family. | |
| IsOwnerFamily | bool | True if the family is the owner family for its own editable document, false otherwise. | |
| IsParametric | bool | Identifies whether the family contains parametric relations between some of its elements. | |
| IsUserCreated | bool | Determine whether the family has been defined by the user. | |
| ShowSpatialElementCalculationPoint | bool | For families that can have a calculation point for spatial elements, hide or show the calculation point. elements. | |
| StructuralCodeName | string | The family's structural code name. | |
| StructuralFamilyNameKey | string | The family's structural section shape name key. | |
| StructuralMaterialType | StructuralMaterialType | The family's structural material type. | |
| StructuralSectionShape | StructuralSectionShape | The family's structural section shape. | |
| AssemblyInstanceId | ElementId | The id of the assembly instance to which the element belongs. | Element |
| BoundingBox | BoundingBoxXYZ | Retrieves a box that circumscribes all geometry of the element. | Element |
| Category | Category | Retrieves a Category object that represents the category or sub category in which the element resides. | Element |
| CreatedPhaseId | ElementId | Id of a Phase at which the Element was created. | Element |
| DemolishedPhaseId | ElementId | Id of a Phase at which the Element was demolished. | Element |
| DesignOption | DesignOption | Returns the design option to which the element belongs. | Element |
| Document | Document | Returns the Document in which the Element resides. | Element |
| Geometry | GeometryElement | Retrieves the geometric representation of the element. | Element |
| GroupId | ElementId | The id of the group to which an element belongs. | Element |
| Id | ElementId | A unique identifier for an Element in an Autodesk Revit project. | Element |
| IsTransient | bool | Indicates whether an element is transient or permanent. | Element |
| IsValidObject | bool | Specifies whether the .NET object represents a valid Revit entity. | Element |
| LevelId | ElementId | The id of the level associated with the element. | Element |
| Location | Location | This property is used to find the physical location of an element within a project. | Element |
| Name | string | A human readable name for the Element. | Element |
| OwnerViewId | ElementId | The id of the view that owns the element. | Element |
| Parameter | Parameter | Retrieves a parameter from the element given a parameter id. | Element |
| Parameter | Parameter | Retrieves a parameter from the element based on its definition. | Element |
| Parameter | Parameter | Retrieves a parameter from the element given a GUID for a shared parameter. | Element |
| ParametersMap | ParameterMap | Retrieves a map containing all of the parameters that are contained within the element. | Element |
| Parameters | ParameterSet | Retrieves a set containing all of the parameters that are contained within the element. | Element |
| Pinned | bool | Identifies if the element has been pinned to prevent changes. | Element |
| UniqueId | string | A stable unique identifier for an element within the document. | Element |
| VersionGuid | Guid | Get the element version Guid. | Element |
| ViewSpecific | bool | Identifies if the element is owned by a view. | Element |
| WorksetId | WorksetId | Get Id of the Workset which owns the element. | Element |