原文链接:
Getting the normal direction of a face
问题
解决办法
问题
当我使用 PlanarFace.Normal 属性获取面的法线时,我法线对于有些面来说结果和实际的面方向相反。
foreach (Face face in solid.Faces)
{
PlanarFace planarFace = face as PlanarFace;
if (planarFace != null)
{
Trace.WriteLine("Normal=" + planarFace.Normal.ToString());
}
}
解决办法
获取一个面的法线方向应该使用 PlanarFace.ComputeNormal() 方法,以下代码获取在面的原点处的法线:
XYZ normal = planarFace.ComputeNormal(new UV(planarFace.Origin.X, planarFace.Origin.Y));