/*------------------------------------------------------------------------- * 功能描述:WallExtension * 作者:xulisong * 创建时间: 2019/6/26 17:57:20 * 版本号:v1.0 * -------------------------------------------------------------------------*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.DB; using SAGA.DotNetUtils.Extend; using SAGA.RevitUtils; using SAGA.RevitUtils.Extends; namespace RevitToJBim.Extension { public static class WallExtension { public static List GetTopFaces(this Wall wall) { var solids = Extension.GeometryElementExtension.GetSolids(wall, wall.Document.GetUseView()); var topZ = wall.GetTopStaticHeight(); List faces = new List(); foreach (var solid in solids) { foreach (Face face in solid.Faces) { if (face is PlanarFace planarFace && planarFace.FaceNormal == XYZ.BasisZ && planarFace.Origin.Z.IsEqual(topZ)) { faces.Add(planarFace); } } } return faces; } } }