REvit中获取工作集中的所有元素

1: 过滤所有的工作集

FilteredWorksetCollector col = new FilteredWorksetCollector(doc);
            _AllWorksetList = col.Where(p => p.Kind == WorksetKind.UserWorkset).OrderBy(p => p.Name).ToList();
            foreach (Workset ws in _AllWorksetList)
            {
                checkedListBox1.Items.Add(ws.Name);
                _SumCount++;
            }

  2:过滤工作集中的所有元素

foreach(Workset ws in wsList)
                {
                    FilteredElementCollector col = new FilteredElementCollector(doc);
                    ElementWorksetFilter fil = new ElementWorksetFilter(ws.Id);
                    ICollection<Element> wsElements = col.WherePasses(fil).ToElements();
                    eList.AddRange(wsElements);
                }

  

posted @ 2017-01-23 14:02  HongEgg  阅读(1190)  评论(0编辑  收藏  举报