访问 Area.Name 抛出错误
Accessing Area.Name Throws Error
我只是想找到一种方法来访问 Revit 中 Area 元素的名称 属性 Python Shell,尝试查看 Jeremy Tammik 内容丰富的博客,尝试过AUGI,Revit API 文档,已经找了 2 天了...
尝试通过多种方式访问,FilteredElementsCollector(doc).OfCategory(BuiltInCategory.OST_Areas),通过 Area class 尝试,通过 AreaTag 尝试,每次我在各种情况下都会出错这让我抓狂,这似乎是一个我似乎无法理解的简单问题!
编辑:还通过元素 ID、通过标签、通过区域方案进行了尝试,nada,不行...
谁能告诉我如何通过 RPS 访问此 属性?
为了回答我自己的问题,我实际上从未想过查看其他 Revit Python 脚本的代码...在 PyRevit 的这种情况下,我认为它比 RPS 更雄辩,非常期待完成他们的控制台工作!
基本上,我错误地使用了 GetParameter('parameter') 而不是 LookupParameter('parameter')。
正如我所说,这是一件简单到我无法理解的事情。
如果有人有足够的知识连贯地澄清这一点,请回答!
非常感谢!
也许您的问题与此相同? :
Your_Area.Name # throws error
Element.Name.GetValue(Your_Area) # works great
我想说两件事:
areaObject.LookupParameter("Name")
areaObject.GetParameters("Name")
...是有效的方法。请注意我是如何使用 GetParameters()
而不是 GetParameter()
的。使用两者中的任何一个都有一些缺点。查找方法将 return 第一个匹配名称的参数,在许多情况下可能是不同元素的不同参数。这不是很可靠。
GetParameters()
方法将 return 它们全部,如果有多个,那么你必须处理一个 List<Parameter>
而不是你可以从中提取值的单个对象。
我个人建议使用 areaObject.get_Parameter(BuiltInParameter.ROOM_NAME)
方法从 Area 对象中提取 Name 值。 BuiltInParameter 始终指向相同的参数,并且可靠地 return 只是那个参数。以下是有关这些方法的更多详细信息:
http://www.revitapidocs.com/2018/4400b9f8-3787-0947-5113-2522ff5e5de2.htm
我只是想找到一种方法来访问 Revit 中 Area 元素的名称 属性 Python Shell,尝试查看 Jeremy Tammik 内容丰富的博客,尝试过AUGI,Revit API 文档,已经找了 2 天了...
尝试通过多种方式访问,FilteredElementsCollector(doc).OfCategory(BuiltInCategory.OST_Areas),通过 Area class 尝试,通过 AreaTag 尝试,每次我在各种情况下都会出错这让我抓狂,这似乎是一个我似乎无法理解的简单问题!
编辑:还通过元素 ID、通过标签、通过区域方案进行了尝试,nada,不行...
谁能告诉我如何通过 RPS 访问此 属性?
为了回答我自己的问题,我实际上从未想过查看其他 Revit Python 脚本的代码...在 PyRevit 的这种情况下,我认为它比 RPS 更雄辩,非常期待完成他们的控制台工作!
基本上,我错误地使用了 GetParameter('parameter') 而不是 LookupParameter('parameter')。
正如我所说,这是一件简单到我无法理解的事情。
如果有人有足够的知识连贯地澄清这一点,请回答!
非常感谢!
也许您的问题与此相同? :
Your_Area.Name # throws error
Element.Name.GetValue(Your_Area) # works great
我想说两件事:
areaObject.LookupParameter("Name")
areaObject.GetParameters("Name")
...是有效的方法。请注意我是如何使用 GetParameters()
而不是 GetParameter()
的。使用两者中的任何一个都有一些缺点。查找方法将 return 第一个匹配名称的参数,在许多情况下可能是不同元素的不同参数。这不是很可靠。
GetParameters()
方法将 return 它们全部,如果有多个,那么你必须处理一个 List<Parameter>
而不是你可以从中提取值的单个对象。
我个人建议使用 areaObject.get_Parameter(BuiltInParameter.ROOM_NAME)
方法从 Area 对象中提取 Name 值。 BuiltInParameter 始终指向相同的参数,并且可靠地 return 只是那个参数。以下是有关这些方法的更多详细信息:
http://www.revitapidocs.com/2018/4400b9f8-3787-0947-5113-2522ff5e5de2.htm