Autodesk.Revit.DB Transform

仿射三维空间的一个变换。

语法

public class Transform : APIObject

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
### 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);

}

继承层次结构

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

方法

AlmostEqual

  • 确定此变换和指定的变换在公差范围内是否相同(1.0e-09)。

CreateReflection

  • 创建表示给定平面上的反射的变换。

CreateRotation

  • 创建表示绕给定轴在(0,0,0)处旋转的变换。

CreateTranslation

  • 创建表示通过指定向量的平移的转换。

Multiply

  • 将此转换乘以指定的转换并返回结果。

OfPoint

  • 将转换为点并返回结果。

OfVector

  • 将变换转换为向量

ScaleBasis

  • 缩放此转换的基向量并返回结果。

ScaleBasisAndOrigin

  • 缩放此变换的基向量和原点并返回结果。

运算符

Multiply

  • 将两个指定的变换相乘。

属性

Basis

  • 定义旧坐标系在新坐标系中的基础。

BasisX

  • 此变换的X轴的基础。

BasisY

  • 此变换的Y轴的基础。

BasisZ

  • 此变换的Z轴的基础。

Determinant

  • 这种转变的决定因素。

HasReflection

  • 指示此转换是否产生反射的布尔值。

Identity

  • 单位矩阵

Inverse

  • 这种变换的逆变换

IsConformal

  • 指示此变换是否为保形的布尔值。

IsIdentity

  • 指示此转换是否为单位矩阵的布尔值。

IsTranslation

  • 指示此转换是否为转换的布尔值。

Origin

  • 在新坐标系中定义旧坐标系的原点。

Scale

  • 表示转换比例的真实的数字。

注:翻译自Revit Api docs 2018