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