The faces that belong to the solid.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Syntax
Remarks
A face may be degenerate. This can be determined with the Face property IsTwoSided.
Examples

private void GetFacesAndEdges(Wall wall)
{
String faceInfo = "";
Autodesk.Revit.DB.Options opt = new Options();
Autodesk.Revit.DB.GeometryElement geomElem = wall.get_Geometry(opt);
foreach (GeometryObject geomObj in geomElem)
{
Solid geomSolid = geomObj as Solid;
if (null != geomSolid)
{
int faces = 0;
double totalArea = 0;
foreach (Face geomFace in geomSolid.Faces)
{
faces++;
faceInfo += "Face " + faces + " area: " + geomFace.Area.ToString() + "\n";
totalArea += geomFace.Area;
}
faceInfo += "Number of faces: " + faces + "\n";
faceInfo += "Total area: " + totalArea.ToString() + "\n";
foreach (Edge geomEdge in geomSolid.Edges)
{
// get wall's geometry edges
}
}
}
TaskDialog.Show("Revit",faceInfo);
}

Private Sub GetFacesAndEdges(wall As Wall)
Dim faceInfo As [String] = ""
Dim opt As Autodesk.Revit.DB.Options = New Options()
Dim geomElem As Autodesk.Revit.DB.GeometryElement = wall.Geometry(opt)
For Each geomObj As GeometryObject In geomElem
Dim geomSolid As Solid = TryCast(geomObj, Solid)
If geomSolid IsNot Nothing Then
Dim faces As Integer = 0
Dim totalArea As Double = 0
For Each geomFace As Face In geomSolid.Faces
faces += 1
faceInfo += "Face " & faces & " area: " & geomFace.Area.ToString() & vbLf
totalArea += geomFace.Area
Next
faceInfo += "Number of faces: " & faces & vbLf
faceInfo += "Total area: " & totalArea.ToString() & vbLf
' get wall's geometry edges
For Each geomEdge As Edge In geomSolid.Edges
Next
End If
Next
TaskDialog.Show("Revit", faceInfo)
End Sub