Revit API 尝试从 Revit 文件中获取所有元素

问题描述 投票:0回答:1

我试图从revit文件中获取所有revit元素。我试图获取所有具有参数“编辑者”的元素。如何获取它,因为从其中获取所有元素。

FilteredElementCollector Fec = new FilteredElementCollector(revitDoc);

Parameter is giving null exception in some case.

 FilteredElementCollector Fec = new FilteredElementCollector(revitDoc);
 allElements.ForEach(element =>
            {
                Parameter parameter = <element.GetParameters("Edited by").FirstOrDefault();
              
                string parameterValve = null;
                if (parameter != null)
                {
                    parameterValve = parameter.AsString();

                }
                elementModifiedInfo.Add(element, parameterValve);
            });

参数在某些情况下会变为空。 怎么解决这个问题。

revit-api
1个回答
0
投票

使用

FilteredElementCollector
绝对是正确的方法。 GetParameters 方法 返回一个列表。该列表可能为空。您还需要针对这种情况添加检查。

此外,如果不添加任何过滤条件,则无法检索所有元素。

FilteredElementCollector
需要至少一个过滤器。在这种情况下,一个明显的可能是
WhereElementIsNotElementType
,从过滤器中消除所有类型。

最后,使用

ElementParameterFilter
搜索特定参数值时可以显着提高性能。查看 Building Coder 示例,演示如何使用它:

© www.soinside.com 2019 - 2024. All rights reserved.