我有一个带有 Eyeshot 的导入步骤对象。对象由多个实体组成,如何将所有实体旋转为一个?
问问题
457 次
1 回答
3
我猜您尝试单独旋转每个,但没有按预期工作,对吗?
您所做的是将相同的旋转应用于作为局部变换的每个实体矩阵。你需要一个世界旋转。为此,您需要使用旋转的覆盖版本。
假设您想要在所有实体的 0,0,0 上在世界的 Z 轴上旋转 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);
}
旋转轴和点很重要
于 2018-06-28T16:09:07.377 回答