Transform Class


A transformation of the affine 3-space.

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

Syntax

C#
public class Transform : APIObject
Visual Basic
Public Class Transform _
	Inherits APIObject
Visual C++
public ref class Transform : public APIObject

Examples

CopyC#
public static XYZ TransformPoint(XYZ point, Transform transform)
{
    double x = point.X;
    double y = point.Y;
    double z = point.Z;

    //transform basis of the old coordinate system in the new coordinate // system
    XYZ b0 = transform.get_Basis(0);
    XYZ b1 = transform.get_Basis(1);
    XYZ b2 = transform.get_Basis(2);
    XYZ origin = transform.Origin;

    //transform the origin of the old coordinate system in the new 
    //coordinate system
    double xTemp = x * b0.X + y * b1.X + z * b2.X + origin.X;
    double yTemp = x * b0.Y + y * b1.Y + z * b2.Y + origin.Y;
    double zTemp = x * b0.Z + y * b1.Z + z * b2.Z + origin.Z;

    return new XYZ(xTemp, yTemp, zTemp);
}
CopyVB.NET
Public Shared Function TransformPoint(point As XYZ, transform As Transform) As XYZ
    Dim x As Double = point.X
    Dim y As Double = point.Y
    Dim z As Double = point.Z

    'transform basis of the old coordinate system in the new coordinate // system
    Dim b0 As XYZ = transform.Basis(0)
    Dim b1 As XYZ = transform.Basis(1)
    Dim b2 As XYZ = transform.Basis(2)
    Dim origin As XYZ = transform.Origin

    'transform the origin of the old coordinate system in the new 
    'coordinate system
    Dim xTemp As Double = x * b0.X + y * b1.X + z * b2.X + origin.X
    Dim yTemp As Double = x * b0.Y + y * b1.Y + z * b2.Y + origin.Y
    Dim zTemp As Double = x * b0.Z + y * b1.Z + z * b2.Z + origin.Z

    Return New XYZ(xTemp, yTemp, zTemp)
End Function

Inheritance Hierarchy

SystemObject
  Autodesk.Revit.DBAPIObject
    Autodesk.Revit.DBTransform

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →