Share

LocationPoint Class

Provides location functionality for all elements that have a single insertion point.

Inheritance Hierarchy

System.Object
  Autodesk.Revit.DB.APIObject
    Autodesk.Revit.DB.Location
      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 LocationPoint : Location

The LocationPoint type exposes the following members.

Properties

 NameDescription
Public propertyCode exampleIsReadOnlyIdentifies if the object is read-only or modifiable.
(Inherited from APIObject)
Public propertyCode examplePointThe physical location of the element.
Public propertyRotationThe angle of rotation around the insertion point, in radians.

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.
(Inherited from Location)
Public methodCode exampleRotateRotate the element within the project by a specified angle around a given axis.
(Inherited from Location)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)

Remarks

The location point objects adds additional functionality to its base location object class. This includes setting the elements location to a specific point and retrieving its rotation around its insertion point. Inplace families do not have a single insertion point and therefore do not have meaningful LocationPoint data.

Example

C#

void LocationInformation(LocationPoint position)
{
    String prompt = "The selected column location information:";
    prompt += "\nPoint:  (" + position.Point.X + ", "
            + position.Point.Y + ", " + position.Point.Z + ")";
    prompt += "\nRotation: " + position.Rotation;

    TaskDialog.Show("Revit",prompt);
}

bool LocationRotate(Autodesk.Revit.ApplicationServices.Application application, Autodesk.Revit.DB.Element element)
{
    bool rotated = false;
    LocationPoint location = element.Location as LocationPoint;

    if (null != location)
    {
        XYZ aa = location.Point;
        XYZ cc = new XYZ(aa.X, aa.Y, aa.Z + 10);
        Line axis = Line.CreateBound(aa,cc);
        rotated = location.Rotate(axis, Math.PI / 2.0);
    }

    return rotated;
}

VB

Private Sub LocationInformation(position As LocationPoint)
    Dim prompt As [String] = "The selected column location information:"
    prompt += vbLf & "Point:  (" & Convert.ToString(position.Point.X) & ", " & Convert.ToString(position.Point.Y) & ", " & Convert.ToString(position.Point.Z) & ")"
    prompt += vbLf & "Rotation: " & Convert.ToString(position.Rotation)

    TaskDialog.Show("Revit", prompt)
End Sub

Private Function LocationRotate(application As Autodesk.Revit.ApplicationServices.Application, element As Autodesk.Revit.DB.Element) As Boolean
    Dim rotated As Boolean = False
    Dim location As LocationPoint = TryCast(element.Location, LocationPoint)

    If location IsNot Nothing Then
        Dim aa As XYZ = location.Point
        Dim cc As New XYZ(aa.X, aa.Y, aa.Z + 10)
        Dim axis As Line = Line.CreateBound(aa, cc)
        rotated = location.Rotate(axis, Math.PI / 2.0)
    End If

    Return rotated
End Function

See Also

Reference

Was this information helpful?