当前位置: 首页>>代码示例>>C#>>正文


C# FilteredElementCollector.ToList方法代码示例

本文整理汇总了C#中FilteredElementCollector.ToList方法的典型用法代码示例。如果您正苦于以下问题:C# FilteredElementCollector.ToList方法的具体用法?C# FilteredElementCollector.ToList怎么用?C# FilteredElementCollector.ToList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FilteredElementCollector的用法示例。


在下文中一共展示了FilteredElementCollector.ToList方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetElementViews

        public static List<View> GetElementViews(
            List<Element> a,
            List<View> views)
        {
            List<View> returnViews = new List<View>();
              foreach( View view in views )
              {
            FilteredElementCollector coll
              = new FilteredElementCollector(
            view.Document, view.Id );

            coll = coll.WhereElementIsNotElementType();

            List<Element> elementList = coll.ToList();

            foreach( Element e1 in a )
            {
              Element e2 = elementList.Where(
            x => x.Id == e1.Id )
            .FirstOrDefault();

              if( e2 != null
            && null == returnViews.Where(
              x => x.Id == view.Id ).FirstOrDefault() )
              {
            returnViews.Add( view );
              }
            }
              }
              return returnViews;
        }
开发者ID:nbright,项目名称:the_building_coder_samples,代码行数:31,代码来源:CmdCollectorPerformance.cs

示例2: OpeningElementOpenings

    private static void OpeningElementOpenings(
        Document doc, double minOpeningValue)
    {
      FilteredElementCollector openingCollector =
          new FilteredElementCollector(doc);
      openingCollector.OfClass(typeof(Opening));

      // Get the IList for the collector - we cannot delete
      // elements using a collector iterator
      IList<Element> openings =
          openingCollector.ToList<Element>();

      foreach (Opening open in openings)
      {
        // Open the host wall
        Wall wall = open.Host as Wall;
        if (wall == null) continue; //safety

        // Get the original area to compare
        double previousArea = wall.get_Parameter(
            BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();

        // Delete the wall opening
        doc.Delete(open);
        doc.Regenerate();

        // Get the new area to compare
        double newArea = wall.get_Parameter(
            BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();

        // So the instance opening equals:
        double instanceAreaOnTheWall =
            (newArea - previousArea);

        if (instanceAreaOnTheWall <= minOpeningValue)
          AddWallArea(wall.Id, instanceAreaOnTheWall, 0.0);
        else
          AddWallArea(wall.Id, 0.0, instanceAreaOnTheWall);
      }
    }
开发者ID:augustogoncalves,项目名称:PIOTM-WallOpeningArea,代码行数:40,代码来源:WallAreaFunctions.cs

示例3: GetTargetInstances

        /// <summary>
        /// Helper to get all instances for a given category,
        /// identified either by a built-in category or by a category name.
        /// </summary>
        public static List<Element> GetTargetInstances(
            Document doc,
            object targetCategory)
        {
            List<Element> elements;

              bool isName = targetCategory.GetType().Equals( typeof( string ) );

              if( isName )
              {
            Category cat = doc.Settings.Categories.get_Item( targetCategory as string );
            FilteredElementCollector collector = new FilteredElementCollector( doc );
            collector.OfCategoryId( cat.Id );
            elements = new List<Element>( collector );
              }
              else
              {
            FilteredElementCollector collector
              = new FilteredElementCollector( doc )
            .WhereElementIsNotElementType();

            collector.OfCategory( (BuiltInCategory) targetCategory );

            // I removed this to test attaching a shared
            // parameter to Material elements:
            //
            //var model_elements = from e in collector
            //                     where ( null != e.Category && e.Category.HasMaterialQuantities )
            //                     select e;

            //elements = model_elements.ToList<Element>();

            elements = collector.ToList<Element>();
              }
              return elements;
        }
开发者ID:jeremytammik,项目名称:AdnRevitApiLabsXtra,代码行数:40,代码来源:LabUtils.cs

示例4: FindView

        /// <summary>
        /// Get view by view name.
        /// </summary>
        /// <param name="doc">The document to find the view.</param>
        /// <param name="activeViewName">The view name.</param>
        /// <returns>The element id of the view found.</returns>
        private ElementId FindView(Document doc, string activeViewName)
        {
            FilteredElementCollector collector = new FilteredElementCollector(doc);
            collector.OfClass(typeof(RevitView));

            IEnumerable<Element> selectedView = from view in collector.ToList<Element>()
                                                where view.Name == activeViewName
                                                select view;

            if (selectedView.Count() > 0)
            {
                return (selectedView.First() as RevitView).Id;
            }

            return ElementId.InvalidElementId;
        }
开发者ID:redscorpion201,项目名称:STLExporterForRevit,代码行数:22,代码来源:DataGenerator.cs


注:本文中的FilteredElementCollector.ToList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。