Полагаю, вы пытались повернуть каждый из них по отдельности, и это не сработало, как ожидалось, верно?
То, что вы сделали, применили один и тот же поворот к каждой матрице сущностей, которая была локальным преобразованием. Вам нужно вращение мира. Для этого вам нужно использовать измененную версию поворота.
Допустим, вы хотите вращение на 90 градусов по оси Z мира на 0,0,0 для ВСЕХ сущностей
// create a 90 degree rotation at 0,0,0
var rotation = new Rotation(Math.PI / 2d, Vector3D.AxisZ, new Point3D(0, 0, 0));
// loop each entities and apply the rotation
foreach (var entity in viewportLayout1.Entities)
{
entity.TransformBy(rotation);
}
Ось и точка вращения очень важны