Как повернуть импортированный объект в поле зрения?
У меня есть импортированный шаговый объект с 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);
}
Ось и точка вращения очень важны