private string ProcessWall( Wall wall )
{
string msg = string.Format(
"Wall <{0} {1}>:",
wall.Name, wall.Id.IntegerValue );
Debug.WriteLine( msg );
Options o = wall.Document.Application.Create.NewGeometryOptions();
GeometryElement ge = wall.get_Geometry( o );
//GeometryObjectArray objs = ge.Objects; // 2012
IEnumerable<GeometryObject> objs = ge; // 2013
// face normals and origins:
Dictionary<XYZ, List<XYZ>> naos
= new Dictionary<XYZ, List<XYZ>>();
foreach( GeometryObject obj in objs )
{
Solid solid = obj as Solid;
if( null != solid )
{
getFaceNaos( naos, solid );
}
}
return msg
+ getDimensions( naos )
+ "\n";
}