Transform Class


Transform Class

A transformation of the affine 3-space.
Inheritance Hierarchy

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.
Top
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 IsReadOnly 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.
Top
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 CreateReflection Creates a transform that represents a reflection across the given plane.
Public method Static member CreateRotation Creates a transform that represents a rotation about the given axis at (0, 0, 0).
Public method Static member CreateRotationAtPoint Creates a transform that represents a rotation about the given axis at the specified point.
Public method Static member CreateTranslation 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 )
Top
Operators
Name Description
Public operator Static member Multiply(Transform, Transform) Multiplies the two specified transforms.
Top
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);
}
See Also