Hi there,

I want to apply a transformation to a drawing (from German Gauß-Krüger to UTM). Parameters are:

Scale factor 0.9996

Rotation 0.000006

Displacement 28999941.883,-1729.851

How do I have to construct the matrix to transform the drawing's elements?

I tried:

/* Point3d centerOld: Origin of translation vector

Point3d centerNew: Target of translation vector

double rotation: in radians

double scaleFactor */

var matrix = Matrix3d.Displacement(centerNew - centerOld);

matrix *= Matrix3d.Scaling(scaleFactor, centerNew);

matrix

*= Matrix3d

.Rotation(rotation,

new Vector3d

(0,

0,

1), centerNew

); // and later on...

entity.TransformBy(matrix);

Apparently the transformation is not correct (around 13 kilometers off in X, pretty close in Y).

Any ideas?