Revit二次开发入门——通过过滤器获取元素

1,创建一个收集器
2,创建一个过滤器
3,调用收集器的WherePasses函数对元素进行过滤
4,遍历收集器,获取用户想要的元素


FilteredElementCollector filteredElements = new FilteredElementCollector(Doc);
ElementClassFilter classFilter = new ElementClassFilter(typeof(wall));
                filteredElements=filteredElements.WherePasses(classFilter)';
                    foreach(Wall wall in filteredElements)
                    {
                        var functionParameter=wall.WallType.get_Parameter(BuiltInParameter.FUNCTION_PARAM);
                        if (functionParameter!=null&&functionParameter.StorageType==StorageType.Integer)
                        {
                            if (functionParameter.AsInteger()==(int)WallFunction.Exterior)
                            {
                                //使用墙
                            }
                        }
                    }

你可能感兴趣的:(Revit二次开发)