Autodesk.Revit.DB.Transform2D是Revit中用于表示二维转换的类。可以将Transform2D应用于Revit图纸的元素,用于平移、旋转和缩放。
创建Transform2D对象时,可以使用以下构造函数:
Transform2D(double m11, double m12, double m21, double m22, double dx, double dy):使用六个参数(矩阵元素和平移)构造一个新的Transform2D对象。Transform2D(Matrix2D matrix, XYZ translation):使用Matrix2D和平移向量构造一个新的Transform2D对象。Transform2D(Matrix2D matrix):使用Matrix2D构造一个新的Transform2D对象,平移为零。Transform2D类的属性如下:
Matrix:获取Transform2D的Matrix2D对象。Translation:获取Transform2D的平移向量,类型为XYZ。Transform2D类的方法如下:
Equals(Object obj):判断当前Transform2D对象是否等于指定对象。GetHashCode():获取当前Transform2D对象的哈希值。Invert():获取当前Transform2D对象的逆矩阵。IsValid():判断Transform2D对象是否有效。Multiply(Transform2D otherTransform):将当前Transform2D对象与另一个Transform2D对象相乘。ToString():将Transform2D对象转换为字符串。以下示例代码将创建一个Transform2D对象,平移向量为(10,0),并对其进行旋转90度:
Matrix2D matrix = new Matrix2D(0, 1, -1, 0);
XYZ translation = new XYZ(10, 0, 0);
Transform2D transform = new Transform2D(matrix, translation);
Transform2D rotation = Transform2D.CreateRotation(Math.PI / 2);
Transform2D result = transform.Multiply(rotation);