BuildingCoder.CmdCollectorPerformance.CreateFamilyTreeTest C# (CSharp) Метод

CreateFamilyTreeTest() публичный статический Метод

public static CreateFamilyTreeTest ( Document myDoc ) : void
myDoc Document
Результат void
        public static void CreateFamilyTreeTest(
            Document myDoc)
        {
            IEnumerable<Element> familiesCollector =
            new FilteredElementCollector( myDoc )
              .OfClass( typeof( FamilyInstance ) )
              .WhereElementIsNotElementType()
              .Cast<FamilyInstance>()
            // (family, familyInstances):
              .GroupBy( fi => fi.Symbol.Family )
              .Select( f => f.Key );

              var mapCatToFam = new Dictionary<string,
            List<Element>>();

              var categoryList = new Dictionary<string,
            Category>();

              foreach( var f in familiesCollector )
              {
            var catName = f.Category.Name;

            if( mapCatToFam.ContainsKey( catName ) )
            {
              mapCatToFam[catName].Add( f );
            }
            else
            {
              mapCatToFam.Add( catName,
            new List<Element> { f } );

              categoryList.Add( catName,
            f.Category );
            }
              }
        }