Share

Location Class

Provides location functionality for all elements.

Inheritance Hierarchy

System.Object
  Autodesk.Revit.DB.APIObject
    Autodesk.Revit.DB.Location
      Autodesk.Revit.DB.LocationCurve
      Autodesk.Revit.DB.LocationPoint


Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.3.0.0 (25.3.0.0)

Syntax

C#

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)

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)

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

C#

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.");
    }
}

VB

Private Sub ShowLocationUsage(application As Autodesk.Revit.ApplicationServices.Application, wall As Wall)
    ' Get the location instance.
    Dim position As Autodesk.Revit.DB.Location = wall.Location

    ' Check whether the wall is pinned.
    If wall.Pinned Then
        Throw New Exception("The wall has been pinned.")
    End If

    ' Move the wall location, it provides same function as Move method of Document class.
    Dim direction As New XYZ(10, 0, 0)
    Dim result As Boolean = position.Move(direction)
    If Not result Then
        Throw New Exception("Move wall location failed.")
    End If

    ' Rotate the wall location, it provides same function as Rotate method of Document class.
    Dim axisStart As New XYZ(0, 0, 0)
    Dim axisEnd As New XYZ(0, 0, 1)
    Dim axis As Line = Line.CreateUnbound(axisStart, axisEnd)
    result = position.Rotate(axis, 30)
    If Not result Then
        Throw New Exception("Rotate wall location failed.")
    End If
End Sub

See Also

Reference

Was this information helpful?