SpatialElementGeometryCalculator calculator = new SpatialElementGeometryCalculator(doc);
SpatialElementGeometryResults results = calculator.CalculateSpatialElementGeometry(room); // compute the room geometry
Solid roomSolid = results.GetGeometry(); // get the solid representing the room's geometry
foreach (Face face in roomSolid.Faces)
{
double faceArea = face.Area;
IList<SpatialElementBoundarySubface> subfaceList = results.GetBoundaryFaceInfo(face); // get the sub-faces for the face of the room
foreach (SpatialElementBoundarySubface subface in subfaceList)
{
// здесь есть возможность получить subface.SpatialBoundaryElement - если это колонна, то взять subface.GetSubface().Area
}
}