1

我在 pyRevit 环境中使用 Iron python,我的代码如下:

element_types = \
        DB.FilteredElementCollector(doc)\
          .OfCategory(DB.BuiltInCategory.OST_Walls)\
          .WhereElementIsElementType()\ # getting family types not elements
          .ToElements()

for ele in element_types:
    print(ele.Name)

根据 Revit API 文档,这应该可以工作并且可能在 C# 中工作。ele.Name既可以作为 setter也可以作为 getter。但是在 Ironpython 上面的代码失败,返回一个AttributeError: Name. 但是当我尝试ele.Name = "new_family_type_name"它工作正常。

所以我的问题是如何ele.Name努力获得家庭类型名称。

4

2 回答 2

6

这通常是您在使用 RPS 时遇到的最早的怪癖之一 - 但不用担心,它很容易解决。尝试:

for ele in element_Types:
     print Element.Name.__get__(ele)
于 2020-12-07T19:17:26.297 回答
0

请尝试此代码

from rpw import db

collector = db.Collector(of_class='WallType')
element_types = collector.get_elements()    

for ele in element_types:
    print(ele.name)  
于 2021-01-22T09:21:28.537 回答