Level Class

Represents a Level within Autodesk Revit.
Inheritance Hierarchy
SystemObject
  Autodesk.Revit.DBElement
    Autodesk.Revit.DBDatumPlane
      Autodesk.Revit.DBLevel

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class Level : DatumPlane

The Level type exposes the following members.

Properties
 NameDescription
Public propertyAssemblyInstanceId The id of the assembly instance to which the element belongs.
(Inherited from Element)
Public propertyCode exampleBoundingBoxRetrieves a box that circumscribes all geometry of the element.
(Inherited from Element)
Public propertyCategoryRetrieves a Category object that represents the category or sub category in which the element resides.
(Inherited from Element)
Public propertyCode exampleCreatedPhaseId Id of a Phase at which the Element was created.
(Inherited from Element)
Public propertyCode exampleDemolishedPhaseId Id of a Phase at which the Element was demolished.
(Inherited from Element)
Public propertyCode exampleDesignOptionReturns the design option to which the element belongs.
(Inherited from Element)
Public propertyDocumentReturns the Document in which the Element resides.
(Inherited from Element)
Public propertyElevation Retrieves or changes the elevation above or below the ground level.
Public propertyCode exampleGeometryRetrieves the geometric representation of the element.
(Inherited from Element)
Public propertyGroupId The id of the group to which an element belongs.
(Inherited from Element)
Public propertyCode exampleId A unique identifier for an Element in an Autodesk Revit project.
(Inherited from Element)
Public propertyIsModifiable Identifies if the element is modifiable.
(Inherited from Element)
Public propertyIsTransient Indicates whether an element is transient or permanent.
(Inherited from Element)
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Element)
Public propertyLevelId The id of the level associated with the element.
(Inherited from Element)
Public propertyCode exampleLocationThis property is used to find the physical location of an element within a project.
(Inherited from Element)
Public propertyNameA human readable name for the Element.
(Inherited from Element)
Public propertyOwnerViewId The id of the view that owns the element.
(Inherited from Element)
Public propertyCode exampleParameterBuiltInParameterRetrieves a parameter from the element given a parameter id.
(Inherited from Element)
Public propertyParameterDefinitionRetrieves a parameter from the element based on its definition.
(Inherited from Element)
Public propertyParameterGuidRetrieves a parameter from the element given a GUID for a shared parameter.
(Inherited from Element)
Public propertyCode exampleParametersRetrieves a set containing all of the parameters that are contained within the element.
(Inherited from Element)
Public propertyParametersMapRetrieves a map containing all of the parameters that are contained within the element.
(Inherited from Element)
Public propertyPinned Identifies if the element has been pinned to prevent changes.
(Inherited from Element)
Public propertyProjectElevation Retrieves the elevation relative to project origin, no matter what values of the Elevation Base parameter is set.
Public propertyCode exampleUniqueId A stable unique identifier for an element within the document.
(Inherited from Element)
Public propertyVersionGuid Get the element version Guid.
(Inherited from Element)
Public propertyViewSpecific Identifies if the element is owned by a view.
(Inherited from Element)
Public propertyWorksetId Get Id of the Workset which owns the element.
(Inherited from Element)
Top
Methods
 NameDescription
Public methodAddLeader Adds a default Leader for the indicated end of the datum plane. This method does not apply to Reference planes (which do not support leaders).
(Inherited from DatumPlane)
Public methodArePhasesModifiable Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element.
(Inherited from Element)
Public methodCanBeHiddenIndicates if the element can be hidden in the view.
(Inherited from Element)
Public methodCanBeLocked Identifies if the element can be locked.
(Inherited from Element)
Public methodCanBeVisibleInView Checks if the datum plane can be visible in the view.
(Inherited from DatumPlane)
Public methodCanDeleteSubelement Checks if given subelement can be removed from the element.
(Inherited from Element)
Public methodCanHaveTypeAssigned Identifies if the element can have a type assigned.
(Inherited from Element)
Public methodChangeTypeId(ElementId) Changes the type of the element.
(Inherited from Element)
Public methodStatic memberCode exampleCreate Creates a new instance of level based on an input elevation.
Public methodDeleteEntity Deletes the existing entity created by %schema% in the element
(Inherited from Element)
Public methodDeleteSubelement Removes a subelement from the element.
(Inherited from Element)
Public methodDeleteSubelements Removes the subelements from the element.
(Inherited from Element)
Public methodDispose
(Inherited from Element)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodEvaluateAllParameterValues Evaluates all the parameters' values of the element.
(Inherited from Element)
Public methodEvaluateParameterValues Evaluate the parameters' values of the element on the given parameter ID set.
(Inherited from Element)
Public methodFindAssociatedPlanViewId Finds the id of the first available associated floor or structural plan view associated with this level.
Public methodGetCurvesInView Gets a collection of curves representing the DatumPlane element in the given view.
(Inherited from DatumPlane)
Public methodGetDatumExtentTypeInView Identifies whether the curve representing the datum plane is displayed according to its actual 3d extents, or else according to a view specific setting.
(Inherited from DatumPlane)
Public methodGetDependentElements Get all elements that, from a logical point of view, are the children of this Element.
(Inherited from Element)
Public methodGetEntity 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 methodGetEntitySchemaGuids Returns the Schema guids of any Entities stored in this element.
(Inherited from Element)
Public methodGetExternalFileReference Gets information pertaining to the external file referenced by the element.
(Inherited from Element)
Public methodGetExternalResourceReference Gets the ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public methodGetExternalResourceReferenceExpanded Gets the collection of ExternalResourceReference associated with a specified external resource type.
(Inherited from Element)
Public methodGetExternalResourceReferences Gets the map of the external resource references referenced by the element.
(Inherited from Element)
Public methodGetExternalResourceReferencesExpanded Gets the expanded map of the external resource references referenced by the element.
(Inherited from Element)
Public methodCode exampleGetGeneratingElementIds Returns the ids of the element(s) that generated the input geometry object.
(Inherited from Element)
Public methodGetGeometryObjectFromReference Retrieve one geometric primitive contained in the element given a reference.
(Inherited from Element)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetLeader Gets a copy of the leader applied to the indicated end of the datum plane. This method does not apply to Reference planes (which do not support leaders).
(Inherited from DatumPlane)
Public methodGetMaterialArea Gets the area of the material with the given id.
(Inherited from Element)
Public methodGetMaterialIds Gets the element ids of all materials present in the element.
(Inherited from Element)
Public methodGetMaterialVolume Gets the volume of the material with the given id.
(Inherited from Element)
Public methodGetMonitoredLinkElementIds Provides the link instance IDs when the element is monitoring.
(Inherited from Element)
Public methodGetMonitoredLocalElementIds Provides the local element IDs when the element is monitoring.
(Inherited from Element)
Public methodStatic memberGetNearestLevelId(Document, Double) Returns id of the Level which is closest to the specified elevation.
Public methodStatic memberGetNearestLevelId(Document, Double, Double) Returns id of the Level which is closest to the specified elevation.
Public methodGetOrderedParameters Gets the parameters associated to the element in order.
(Inherited from Element)
Public methodGetParameterRetrieves a parameter from the element given identifier.
(Inherited from Element)
Public methodGetParameterFormatOptions Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists.
(Inherited from Element)
Public methodGetParametersRetrieves the parameters from the element via the given name.
(Inherited from Element)
Public methodGetPhaseStatus Gets the status of a given element in the input phase
(Inherited from Element)
Public methodGetPlaneReference Returns a reference to this element as a plane.
Public methodGetPropagationViews Gets a list of candidate views which are parallel to the current view and to which the extents of the datum may be propagated.
(Inherited from DatumPlane)
Public methodGetSubelements Returns the collection of element subelements.
(Inherited from Element)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodCode exampleGetTypeId Returns the identifier of this element's type.
(Inherited from Element)
Public methodGetValidTypes Obtains a set of types that are valid for this element.
(Inherited from Element)
Public methodHasBubbleInView Identifies if the DatumPlane has bubble or not.
(Inherited from DatumPlane)
Public methodHasPhases Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId.
(Inherited from Element)
Public methodHideBubbleInView Hides the bubble in a view. This method does not apply to Reference planes.
(Inherited from DatumPlane)
Public methodIsBubbleVisibleInView Identifies if the bubble is visible or not in a view.
(Inherited from DatumPlane)
Public methodIsCreatedPhaseOrderValid Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public methodIsCurveValidInView Checks if the curve is valid to be as the extents for the datum plane in a view. The curve must be bound and coincident with the original one of the datum plane.
(Inherited from DatumPlane)
Public methodIsDemolishedPhaseOrderValid Returns true if createdPhaseId and demolishedPhaseId are in order.
(Inherited from Element)
Public methodIsExternalFileReference Determines whether this Element represents an external file.
(Inherited from Element)
Public methodIsHiddenIdentifies if the element has been permanently hidden in the view.
(Inherited from Element)
Public methodIsLeaderValid Identifies if the leader valid or not for this DatumPlane. This method does not apply to Reference planes (which do not support leaders).
(Inherited from DatumPlane)
Public methodIsMonitoringLinkElement Indicate whether an element is monitoring any elements in any linked models.
(Inherited from Element)
Public methodIsMonitoringLocalElement Indicate whether an element is monitoring other local elements.
(Inherited from Element)
Public methodIsPhaseCreatedValid Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element.
(Inherited from Element)
Public methodIsPhaseDemolishedValid Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element.
(Inherited from Element)
Public methodIsValidType(ElementId) Checks if given type is valid for this element.
(Inherited from Element)
Public methodLookupParameterAttempts to find a parameter on the element which has the given name.
(Inherited from Element)
Public methodMaximize3DExtents Computes the 3d extents of all model geometry and levels, and extends the 3d extents of this datum surface to include the model extents.
(Inherited from DatumPlane)
Public methodPropagateToViews Propagates the extents applied to this datum in the view to the specified parallel views.
(Inherited from DatumPlane)
Public methodRefersToExternalResourceReference Determines whether this Element uses external resources associated with a specified external resource type.
(Inherited from Element)
Public methodRefersToExternalResourceReferences Determines whether this Element uses external resources.
(Inherited from Element)
Public methodSetCurveInView Sets the extents to match the curve.
(Inherited from DatumPlane)
Public methodSetDatumExtentType Sets whether the curve representing the datum plane is displayed according to its 3d extents, or else according to a view specific setting.
(Inherited from DatumPlane)
Public methodSetEntity Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten.
(Inherited from Element)
Public methodSetLeader Sets the leader to the indicated end of the datum plane. This method does not apply to Reference planes (which do not support leaders).
(Inherited from DatumPlane)
Public methodShowBubbleInView Shows the bubble in a view. This method does not apply to Reference planes.
(Inherited from DatumPlane)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks
A Level is conceptually a horizontal rectangle of finite extents. It appears as a straight line in views that intersect the rectangle. The straight line represents the projection of the rectangle onto the view. The Name property can be used to retrieve the user visible name of the level that appears in the level bubble.
Example
private void GetLevelInformation(Autodesk.Revit.DB.Element element)
{
    // Get the level object to which the element is assigned.
    if (element.LevelId.Equals(ElementId.InvalidElementId))
    {
        TaskDialog.Show("Revit","The element isn't based on a level.");
    }
    else
    {
        Level level = element.Document.GetElement(element.LevelId) as Level;

        // Format the prompt information(Name and elevation)
        String prompt = "The element is based on a level.";
        prompt += "\nThe level name is:  " + level.Name;
        prompt += "\nThe level elevation is:  " + level.Elevation;

        // Show the information to the user.
        TaskDialog.Show("Revit",prompt);
    }
}
private void Getinfo_Level(Document document)
{
    StringBuilder levelInformation = new StringBuilder();
    int levelNumber = 0;
    FilteredElementCollector collector = new FilteredElementCollector(document);
    ICollection<Element> collection = collector.OfClass(typeof(Level)).ToElements();
    foreach (Element e in collection)
    {
        Level level = e as Level;

        if (null != level)
        {
            // keep track of number of levels
            levelNumber++;

            //get the name of the level
            levelInformation.Append("\nLevel Name: " + level.Name);

            //get the elevation of the level
            levelInformation.Append("\n\tElevation: " + level.Elevation);

            // get the project elevation of the level
            levelInformation.Append("\n\tProject Elevation: " + level.ProjectElevation);
        }
    }

    //number of total levels in current document
    levelInformation.Append("\n\n There are " + levelNumber + " levels in the document!");

    //show the level information in the messagebox
    TaskDialog.Show("Revit",levelInformation.ToString());
}
See Also