Location Class

Provides location functionality for all elements.
Inheritance Hierarchy

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

The Location type exposes the following members.

Properties
 NameDescription
Public propertyCode exampleIsReadOnlyIdentifies if the object is read-only or modifiable.
(Inherited from APIObject)
Top
Methods
 NameDescription
Public methodDisposeCauses the object to release immediately any resources it may be utilizing.
(Inherited from APIObject)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodCode exampleMoveMove the element within the project by a specified vector.
Public methodCode exampleRotateRotate the element within the project by a specified angle around a given axis.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks
The location object provides the ability to translate and rotate elements. More detailed location information and control can be found by using the derivatives of this object, such as LocationPoint or LocationCurve.
Example
void ShowLocationUsage(Autodesk.Revit.ApplicationServices.Application application, Wall wall)
{
    // Get the location instance.
    Autodesk.Revit.DB.Location position = wall.Location;

    // Check whether the wall is pinned.
    if (wall.Pinned)
    {
        throw new Exception("The wall has been pinned.");
    }

    // Move the wall location, it provides same function as Move method of Document class.
    XYZ direction = new XYZ(10, 0, 0);
    bool result = position.Move(direction);
    if (!result)
    {
        throw new Exception("Move wall location failed.");
    }

    // Rotate the wall location, it provides same function as Rotate method of Document class.
    XYZ axisStart = new XYZ(0, 0, 0);
    XYZ axisEnd = new XYZ(0, 0, 1);
    Line axis = Line.CreateUnbound(axisStart, axisEnd);
    result = position.Rotate(axis, 30);
    if (!result)
    {
        throw new Exception("Rotate wall location failed.");
    }
}
See Also