Как повернуть импортированный объект в поле зрения?

У меня есть импортированный шаговый объект с Eyeshot. Объект состоит из нескольких объектов, как я могу повернуть все объекты как один?

1 ответ

Я предполагаю, что вы пытались вращать каждый из них по отдельности, и это не сработало, как ожидалось, верно?

То, что вы сделали, это применили одно и то же вращение к каждой матрице сущностей, которая была локальным преобразованием. Вам нужно вращение мира. Для этого вам нужно использовать переопределенную версию поворота.

Допустим, вы хотите поворот на 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);
}

Ось и точка вращения очень важны

Другие вопросы по тегам