BuildingCoder.CmdGetColumnGeometry1.Execute C# (CSharp) Метод

Execute() публичный Метод

public Execute ( ExternalCommandData commandData, string &message, ElementSet elements ) : System.Result
commandData ExternalCommandData
message string
elements ElementSet
Результат System.Result
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            UIDocument uidoc = commandData.Application
            .ActiveUIDocument;

              Options options = new Options();

              options.ComputeReferences = true;

              GeometryElement geomElement
            = uidoc.Selection.PickObject(
              ObjectType.Element )
              .Element.get_Geometry( options );

              int edgeCount = 0;
              foreach( GeometryObject geomObj
            in geomElement.Objects )
              {
            if( geomObj is GeometryInstance )
            {
              GeometryInstance inst = geomObj
            as GeometryInstance;

              if( inst != null )
              {
            GeometryElement geomElem
              = inst.GetSymbolGeometry();

            foreach( Object o in geomElem.Objects )
            {
              Solid solid = o as Solid;
              if( solid != null )
              {
                foreach( Face face in solid.Faces )
                {
                  foreach( EdgeArray edgeArray
                    in face.EdgeLoops )
                  {
                    edgeCount += edgeArray.Size;
                  }
                }
              }
            }
              }
            }
              }
              TaskDialog.Show( "Revit", "Edges: "
            + edgeCount.ToString() );

              return Result.Succeeded;
        }
CmdGetColumnGeometry1