Rotate the element within the project by a specified angle around a given axis.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.3.0.0 (26.3.0.0)
Syntax
C#
public bool Rotate( Line axis, double angle )
Parameters
- axis Line
- An unbounded line that represents the axis of rotation.
- angle Double
- The angle, in radians, by which the element is to be rotated around the specified axis.
Return Value
BooleanIf the element is rotate successfully then the method returns True, otherwise False.
Remarks
The rotate method is used to rotate an element within the project. Other elements may also be rotated when this element is rotated because they are dependent upon the element being rotated. An unbounded line for the axis can be created by using the Application.Create object and its methods.Example
C#
bool LocationRotate(Autodesk.Revit.ApplicationServices.Application application, Autodesk.Revit.DB.Element element) { bool rotated = false; // Rotate the element via its location curve. LocationCurve curve = element.Location as LocationCurve; if (null != curve) { Curve line = curve.Curve; XYZ aa = line.GetEndPoint(0); XYZ cc = new XYZ(aa.X, aa.Y, aa.Z + 10); Line axis = Line.CreateBound(aa, cc); rotated = curve.Rotate(axis, Math.PI / 2.0); } return rotated; }
VB
Private Function LocationRotate(application As Autodesk.Revit.ApplicationServices.Application, element As Autodesk.Revit.DB.Element) As Boolean Dim rotated As Boolean = False ' Rotate the element via its location curve. Dim curve As LocationCurve = TryCast(element.Location, LocationCurve) If curve IsNot Nothing Then Dim line__1 As Curve = curve.Curve Dim aa As XYZ = line__1.GetEndPoint(0) Dim cc As New XYZ(aa.X, aa.Y, aa.Z + 10) Dim axis As Line = Line.CreateBound(aa, cc) rotated = curve.Rotate(axis, Math.PI / 2.0) End If Return rotated End Function
