WEB开发网
开发学院软件开发C语言 Revit API找到墙的正面 阅读

Revit API找到墙的正面

 2012-03-28 09:26:33 来源:WEB开发网   
核心提示: Wall.Orientation指示墙的正方向,判断Face与这个正方向的夹角一致,Revit API找到墙的正面,即为墙的正面,public static Face FindWallFace(Wall wall){ Face normalFace = null; // Options opt =

  Wall.Orientation指示墙的正方向,判断Face与这个正方向的夹角一致,即为墙的正面。

public static Face FindWallFace(Wall wall)
{
    Face normalFace = null;
    //
    Options opt = new Options();
    opt.ComputeReferences = true;
    opt.DetailLevel = Autodesk.Revit.DB.DetailLevels.Medium;
    //
    GeometryElement e = wall.get_Geometry(opt);
    foreach (GeometryObject obj in e.Objects)
    {
        Solid solid = obj as Solid;
        if (solid != null && solid.Faces.Size > 0)
        {
            foreach (Face face in solid.Faces)
            {
                PlanarFace pf = face as PlanarFace;
                if (pf != null)
                {
                    if (pf.Normal.AngleTo(wall.Orientation) < 0.01)//数值在0到PI之间
                    {
                        normalFace = face;
                    }
                }
            }
        }
    }
    return normalFace;
}

Tags:Revit API 找到

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接