Skip to content

Transform

Public Class

A transformation of the affine 3-space.

Inheritance Hierarchy

System.Object
Autodesk.Revit.DB.APIObject
Autodesk.Revit.DB.Transform

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public class Transform : APIObject

The Transform type exposes the following members.

Constructors

Name

Description


Public Method
Transform

The copy constructor.


Properties

Name

Description


Public Property
Basis

Defines the basis of the old coordinate system in the new coordinate system.


Public Property
BasisX

The basis of the X axis of this transformation.


Public Property
BasisY

The basis of the Y axis of this transformation.


Public Property
BasisZ

The basis of the Z axis of this transformation.


Public Property
Determinant

The determinant of this transformation.


Public Property
HasReflection

The boolean value that indicates whether this transformation produces reflection.


Public Property
Static Member
Identity

The identity transformation.


Public Property
Inverse

The inverse transformation of this transformation.


Public Property
IsConformal

The boolean value that indicates whether this transformation is conformal.


Public Property
IsIdentity

The boolean value that indicates whether this transformation is an identity.


Public Property
Code Example

Identifies if the object is read-only or modifiable.
(Inherited from APIObject)


Public Property
IsTranslation

The boolean value that indicates whether this transformation is a translation.


Public Property
Origin

Defines the origin of the old coordinate system in the new coordinate system.


Public Property
Scale

The real number that represents the scale of the transformation.


Methods

Name

Description


Public Method
AlmostEqual

Determines whether this transformation and the specified transformation are the same within the tolerance (1.0e-09).


Public Method
Static Member
Code Example

Creates a transform that represents a reflection across the given plane.


Public Method
Static Member

Creates a transform that represents a rotation about the given axis at (0, 0, 0).


Public Method
Static Member

Creates a transform that represents a rotation about the given axis at the specified point.


Public Method
Static Member

Creates a transform that represents a translation via the specified vector.


Public Method
Dispose

Causes the object to release immediately any resources it may be utilizing.
(Inherited from APIObject)


Public Method

Equals

Determines whether the specified object is equal to the current object.
(Inherited from Object)


Public Method

GetHashCode

Serves as the default hash function.
(Inherited from Object)


Public Method

GetType

Gets the Type of the current instance.
(Inherited from Object)


Public Method
Multiply

Multiplies this transformation by the specified transformation and returns the result.


Public Method
OfPoint

Applies the transformation to the point and returns the result.


Public Method
OfVector

Applies the transform to the vector


Public Method
ScaleBasis

Scales the basis vectors of this transformation and returns the result.


Public Method
ScaleBasisAndOrigin

Scales the basis vectors and the origin of this transformation and returns the result.


Public Method

ToString

Returns a string that represents the current object.
(Inherited from Object)


Operators

Name

Description


Public Operator
Static Member
Multiply(Transform, Transform)

Multiplies the two specified transforms.


Example

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