FamilyInstance
This object represents a single instance of a family type, such as a single I beam.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.Instance
Autodesk.Revit.DB.FamilyInstance
Autodesk.Revit.DB.AnnotationSymbol
Autodesk.Revit.DB.Mullion
Autodesk.Revit.DB.Panel
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class FamilyInstance : Instance
The FamilyInstance type exposes the following members.
Properties
Name
Description
Public Property
AssemblyInstanceId
The id of the assembly instance to which the element belongs.
(Inherited from Element)
Public Property
Code Example
BoundingBox
Retrieves a box that circumscribes all geometry of the element.
(Inherited from Element)
Public Property
CanFlipFacing
Property to test whether the orientation of family instance facing can be flipped.
Public Property
CanFlipHand
Property to test whether the orientation of family instance hand can be flipped.
Public Property
CanFlipWorkPlane
Identifies if the instance can flip its work plane.
Public Property
CanRotate
Property to test whether the family instance can be rotated by 180 degrees.
Public Property
CanSplit
Identifies whether a particular family instance can be split at a point on it’s defining curve (by Split(Double)).
Public Property
Category
Retrieves a Category object that represents the category or sub category in which the element resides.
(Inherited from Element)
Public Property
Code Example
CreatedPhaseId
Id of a Phase at which the Element was created.
(Inherited from Element)
Public Property
Code Example
DemolishedPhaseId
Id of a Phase at which the Element was demolished.
(Inherited from Element)
Public Property
Code Example
DesignOption
Returns the design option to which the element belongs.
(Inherited from Element)
Public Property
Document
Returns the Document in which the Element resides.
(Inherited from Element)
Public Property
ExtensionUtility
Property to check whether the instance can be extended and return the interface for extension operation.
Public Property
FacingFlipped
Property to test whether the orientation of family instance facing is flipped.
Public Property
FacingOrientation
Property to get the orientation of family instance facing.
Public Property
FromRoom
The “From Room” set for the door or window in the last phase of the project.
Public Property
FromRoom.Phase.
Public Property
Code Example
Geometry
Retrieves the geometric representation of the element.
(Inherited from Element)
Public Property
GroupId
The id of the group to which an element belongs.
(Inherited from Element)
Public Property
HandFlipped
Property to test whether the orientation of family instance hand is flipped.
Public Property
HandOrientation
Property to get the orientation of family instance hand.
Public Property
HasSpatialElementCalculationPoint
Identifies if this instance has a single SpatialElementCalculationPoint used as the search point for Revit to identify if the instance is inside a room or space.
Public Property
HasSpatialElementFromToCalculationPoints
Identifies if this instance has a pair of SpatialElementCalculationPoints used as the search points for Revit to identify if the instance lies between up to two rooms or spaces.
Public Property
Host
If the instance is contained within another element, this property returns the containing element. An instance that is face hosted will return the element containing the face.
Public Property
HostFace
Property to get the reference to the host face of family instance.
Public Property
HostParameter
If the instance is hosted by a wall, this property returns the parameter value of the insertion point of the instance along the wall’s location curve, as long as the family of the instance isn’t work plane based.
Public Property
Code Example
Id
A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element)
Public Property
Invisible
Property to test whether the family instance is invisible.
Public Property
IsModifiable
Identifies if the element is modifiable.
(Inherited from Element)
Public Property
IsSlantedColumn
Indicates if the family instance is a slanted column.
Public Property
IsTransient
Indicates whether an element is transient or permanent.
(Inherited from Element)
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element)
Public Property
IsWorkPlaneFlipped
Identifies if the instance’s work plane is flipped.
Public Property
LevelId
The id of the level associated with the element.
(Inherited from Element)
Public Property
Location
This property is used to find the physical location of an instance within project.
(Overrides Element.Location)
Public Property
MEPModel
Retrieves the MEP model for the family instance.
Public Property
Mirrored
Property to test whether the family instance is mirrored. (only one axis is flipped)
Public Property
Name
A human readable name for the Element.
(Inherited from Element)
Public Property
OwnerViewId
The id of the view that owns the element.
(Inherited from Element)
Public Property
Code Example
Parameter.BuiltInParameter.
Retrieves a parameter from the element given a parameter id.
(Inherited from Element)
Public Property
Parameter.Definition.
Retrieves a parameter from the element based on its definition.
(Inherited from Element)
Public Property
Parameter.Guid.
Retrieves a parameter from the element given a GUID for a shared parameter.
(Inherited from Element)
Public Property
Code Example
Parameters
Retrieves a set containing all of the parameters that are contained within the element.
(Inherited from Element)
Public Property
ParametersMap
Retrieves a map containing all of the parameters that are contained within the element.
(Inherited from Element)
Public Property
Pinned
Identifies if the element has been pinned to prevent changes.
(Inherited from Element)
Public Property
Room
The room in which the instance is located (during the last phase of the project).
Public Property
Room.Phase.
Public Property
Space
The space in which the instance is located (during the last phase of the project).
Public Property
Space.Phase.
Public Property
StructuralMaterialId
Identifies the material that defines the instance’s structural analysis properties.
Public Property
StructuralMaterialType
This property returns the physical material from which the instance is made.
Public Property
Code Example
StructuralType
Provides the primary structural type of the instance, such as beam or column etc.
Public Property
StructuralUsage
Provides the primary structural usage of the instance, such as brace, girder etc.
Public Property
SuperComponent
Property to get the super component of current family instance.
Public Property
Code Example
Symbol
Returns or changes the FamilySymbol object that represents the type of the instance.
Public Property
ToRoom
The “To Room” set for the door or window in the last phase of the project.
Public Property
ToRoom.Phase.
Public Property
Code Example
UniqueId
A stable unique identifier for an element within the document.
(Inherited from Element)
Public Property
VersionGuid
Get the element version Guid.
(Inherited from Element)
Public Property
ViewSpecific
Identifies if the element is owned by a view.
(Inherited from Element)
Public Property
WorksetId
Get Id of the Workset which owns the element.
(Inherited from Element)
Methods
Name
Description
Public Method
AddCoping
Adds a coping (cut) to a steel beam.
Public Method
ArePhasesModifiable
Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element)
Public Method
CanBeHidden
Indicates if the element can be hidden in the view.
(Inherited from Element)
Public Method
CanBeLocked
Identifies if the element can be locked.
(Inherited from Element)
Public Method
CanDeleteSubelement
Checks if given subelement can be removed from the element.
(Inherited from Element)
Public Method
CanHaveTypeAssigned.
Identifies if the element can have a type assigned.
(Inherited from Element)
Public Method
ChangeTypeId(ElementId)
Changes the type of the element.
(Inherited from Element)
Public Method
DeleteEntity
Deletes the existing entity created by %schema% in the element
(Inherited from Element)
Public Method
DeleteSubelement
Removes a subelement from the element.
(Inherited from Element)
Public Method
DeleteSubelements
Removes the subelements from the element.
(Inherited from Element)
Public Method
Dispose
(Inherited from Element)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
EvaluateAllParameterValues
Evaluates all the parameters’ values of the element.
(Inherited from Element)
Public Method
EvaluateParameterValues
Evaluate the parameters’ values of the element on the given parameter ID set.
(Inherited from Element)
Public Method
flipFacing
The orientation of family instance facing will be flipped. If it can not be flipped, return false, otherwise return true.
Public Method
FlipFromToRoom
Flips the settings of “From Room” and “To Room” for the door or window instance.
Public Method
flipHand
The orientation of family instance hand will be flipped. If it can not be flipped, return false, otherwise return true.
Public Method
GetCopingIds
Lists the elements currently used as coping cutters for this element.
Public Method
GetDependentElements
Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element)
Public Method
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)
Public Method
GetEntitySchemaGuids
Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)
Public Method
GetExternalFileReference
Gets information pertaining to the external file referenced by the element.
(Inherited from Element)
Public Method
GetExternalResourceReference
Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public Method
GetExternalResourceReferenceExpanded
Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public Method
GetExternalResourceReferences
Gets the map of the external resource references referenced by the element.
(Inherited from Element)
Public Method
GetExternalResourceReferencesExpanded
Gets the expanded map of the external resource references referenced by the element.
(Inherited from Element)
Public Method
GetFamilyPointPlacementReferences
Returns the Point Placement References for the Family Instance.
Public Method
Code Example
GetGeneratingElementIds
Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element)
Public Method
GetGeometryObjectFromReference
Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
GetMaterialArea
Gets the area of the material with the given id.
(Inherited from Element)
Public Method
GetMaterialIds
Gets the element ids of all materials present in the element.
(Inherited from Element)
Public Method
GetMaterialVolume
Gets the volume of the material with the given id.
(Inherited from Element)
Public Method
GetMonitoredLinkElementIds
Provides the link instance IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetMonitoredLocalElementIds
Provides the local element IDs when the element is monitoring.
(Inherited from Element)
Public Method
GetOrderedParameters
Gets the parameters associated to the element in order.
(Inherited from Element)
Public Method
GetOriginalGeometry
Returns the original geometry of the instance, before the instance is modified by joins, cuts, coping, extensions, or other post-processing.
Public Method
GetParameter
Retrieves a parameter from the element given identifier.
(Inherited from Element)
Public Method
GetParameterFormatOptions
Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element)
Public Method
GetParameters
Retrieves the parameters from the element via the given name.
(Inherited from Element)
Public Method
GetPhaseStatus
Gets the status of a given element in the input phase
(Inherited from Element)
Public Method
GetReferenceByName
Gets the family instance reference corresponding to the named reference plane in the instance’s family.
Public Method
GetReferenceName
Gets the name of the reference plane in the family corresponding to the given family instance reference.
Public Method
GetReferences
Gets family instance references corresponding to the reference planes or reference lines of the given reference type in the instance’s family.
Public Method
GetReferenceType
Gets the type of the reference plane or reference line in the instance’s family corresponding to the given family instance reference.
Public Method
GetSpatialElementCalculationPoint
Gets the location of the calculation point for this instance.
Public Method
GetSpatialElementFromToCalculationPoints
Gets the locations for the calculation points for this instance.
Public Method
Code Example
GetSubComponentIds
Gets the sub component ElementIds of the current family instance.
Public Method
GetSubelements
Returns the collection of element subelements.
(Inherited from Element)
Public Method
GetSweptProfile
Gets the object that describes the profile that is swept along the driving curve for this instance.
Public Method
GetTotalTransform
Gets the total transform, which includes the true north transform for instances like import instances.
(Inherited from Instance)
Public Method
GetTransform
Gets the transform of the instance.
(Inherited from Instance)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
Code Example
GetTypeId
Returns the identifier of this element’s type.
(Inherited from Element)
Public Method
GetValidTypes.
Obtains a set of types that are valid for this element.
(Inherited from Element)
Public Method
HasModifiedGeometry
Identifies if the geometry of this FamilyInstance has been modified from the automatically generated default.
Public Method
HasPhases
Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element)
Public Method
HasSweptProfile
Indicates if this instance can be represented as a swept profile.
Public Method
IsCreatedPhaseOrderValid
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public Method
IsDemolishedPhaseOrderValid
Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public Method
IsExternalFileReference
Determines whether this Element represents an external file.
(Inherited from Element)
Public Method
IsHidden
Identifies if the element has been permanently hidden in the view.
(Inherited from Element)
Public Method
IsMonitoringLinkElement
Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)
Public Method
IsMonitoringLocalElement
Indicate whether an element is monitoring other local elements.
(Inherited from Element)
Public Method
IsPhaseCreatedValid
Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element)
Public Method
IsPhaseDemolishedValid
Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element)
Public Method
IsValidType(ElementId)
Checks if given type is valid for this element.
(Inherited from Element)
Public Method
LookupParameter
Attempts to find a parameter on the element which has the given name.
(Inherited from Element)
Public Method
RefersToExternalResourceReference
Determines whether this Element uses external resources associated with a specified external resource type.
(Inherited from Element)
Public Method
RefersToExternalResourceReferences
Determines whether this Element uses external resources.
(Inherited from Element)
Public Method
RemoveCoping
Removes a coping (cut) from a steel beam.
Public Method
rotate
The family instance will be flipped by 180 degrees. If it can not be rotated, return false, otherwise return true.
Public Method
SetCopingIds
Specifies the set of coping cutters on this element.
Public Method
SetEntity
Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten.
(Inherited from Element)
Public Method
Split
Splits the family instance element at a point on its defining curve.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Remarks
Examples of FamilyInstance objects within Autodesk Revit are Beams, Columns, Braces and Desks. The FamilyInstance object provides more detailed properties that enable the type of the family instance to be changed, thus changing their appearance within the project.
Example
public void GetInfo_FamilyInstance(FamilyInstance familyInstance){ string message = "FamilyInstance : "; // Get FamilyInstance host name if (familyInstance.Host != null) { message += "\nFamilyInstance host name is : " + familyInstance.Host.Name; }
foreach (ElementId materialId in familyInstance.GetMaterialIds(false)) { Material material = familyInstance.Document.GetElement(materialId) as Material; message += "\nFamilyInstance e material : " + material.Name; } // Get FamilyInstance room name if (familyInstance.Room != null) { message += "\nFamilyInstance room name is : " + familyInstance.Room.Name; }
// Get FamilyInstance structural type message += "\nFamilyInstance structural type is : " + familyInstance.StructuralType;
// Get FamilyInstance structural usage message += "\nFamilyInstance structural usage is : " + familyInstance.StructuralUsage;
TaskDialog.Show("Revit",message);}