获取元素类型的名称在 Iron python for Revit 中不起作用

Getting name of element type doesn't work in Iron python for Revit

我在Ironpython的pyRevit环境下工作,我的代码如下:

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 获得家族类型名称。

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

for ele in element_Types:
     print Element.Name.__get__(ele)

请试试这个代码

from rpw import db

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

for ele in element_types:
    print(ele.name)