我有一个带Eyeshot的导入步对象。该对象由多个实体组成,如何将所有实体旋转为一个?
答案 0 :(得分:2)
我想您尝试过分别旋转每个旋转,但效果不如预期吗?
您所做的是将相同的旋转应用于每个实体矩阵,这是一个局部变换。您需要世界旋转。为此,您需要使用旋转的替代版本。
假设您要在世界的Z轴上将所有实体上的0,0,0旋转90度
// 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);
}
旋转轴和旋转点非常重要