A transformation of the affine 3-space.
Inheritance Hierarchy
System.ObjectAutodesk.Revit.DB.APIObject
Autodesk.Revit.DB.Transform
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.3.0.0 (26.3.0.0)
Syntax
C#
public class Transform : APIObject
The Transform type exposes the following members.
Constructors
| Name | Description | |
|---|---|---|
| Transform | The copy constructor. |
Properties
| Name | Description | |
|---|---|---|
| Basis | Defines the basis of the old coordinate system in the new coordinate system. | |
| BasisX | The basis of the X axis of this transformation. | |
| BasisY | The basis of the Y axis of this transformation. | |
| BasisZ | The basis of the Z axis of this transformation. | |
| Determinant | The determinant of this transformation. | |
| HasReflection | The boolean value that indicates whether this transformation produces reflection. | |
| Identity | The identity transformation. | |
| Inverse | The inverse transformation of this transformation. | |
| IsConformal | The boolean value that indicates whether this transformation is conformal. | |
| IsIdentity | The boolean value that indicates whether this transformation is an identity. | |
| IsReadOnly | Identifies if the object is read-only or modifiable. (Inherited from APIObject) | |
| IsTranslation | The boolean value that indicates whether this transformation is a translation. | |
| Origin | Defines the origin of the old coordinate system in the new coordinate system. | |
| Scale | The real number that represents the scale of the transformation. |
Methods
| Name | Description | |
|---|---|---|
| AlmostEqual | Determines whether this transformation and the specified transformation are the same within the tolerance (1.0e-09). | |
| CreateReflection | Creates a transform that represents a reflection across the given plane. | |
| CreateRotation | Creates a transform that represents a rotation about the given axis at (0, 0, 0). | |
| CreateRotationAtPoint | Creates a transform that represents a rotation about the given axis at the specified point. | |
| CreateTranslation | Creates a transform that represents a translation via the specified vector. | |
| Dispose | Causes the object to release immediately any resources it may be utilizing. (Inherited from APIObject) | |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
| GetHashCode | Serves as the default hash function. (Inherited from Object) | |
| GetType | Gets the Type of the current instance. (Inherited from Object) | |
| Multiply | Multiplies this transformation by the specified transformation and returns the result. | |
| OfPoint | Applies the transformation to the point and returns the result. | |
| OfVector | Applies the transform to the vector | |
| ScaleBasis | Scales the basis vectors of this transformation and returns the result. | |
| ScaleBasisAndOrigin | Scales the basis vectors and the origin of this transformation and returns the result. | |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
Operators
| Name | Description | |
|---|---|---|
| Multiply(Transform, Transform) | Multiplies the two specified transforms. |
Example
C#
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); }
VB
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
