本篇文章我们来聊聊 ParameterType 和 Parameter Group 这两个节点,因为每次使用的时候,都特别的痛苦,明明 Revit 里是显示中文的,可是这两个节点显示下拉菜单里,显示的却是英文,而且 Parameter Group 显示的更是 Butitin Parameter,是以 PG 开头的显示方式,对于英文不好的我,简直是太痛苦了。。。
那么,有没有办法,获取 ParameterType 和 Parameter Group 的中文名称?答案,当然是有的。
这里呢,就用到了 Revit API 中一个叫做 “LabelUtils” 的方法——获取标签的方法,我们在 API 中搜一下这个,如下图:
我们点 ParameterType 就能看到基本语法:
想要得到 ParameterType 的标签,我们就需要先得到 ParameterType,这里我们随意点下上面图中的 ParameterType,就会跳转到 ParameterType Enumeration 页面,这里展示该枚举下的所有方法:
这个东西有很多,我们就获取基本参数类型就行,FamilyType 后面,都是族参数类型,我们用到的不多,这里就不一一列出来了。
然后就简单了,我们只要获取 ParameterType 的枚举,然后再依次获取他们的标签,就能得到我们梦寐以求的中文显示了,代码如下:
# Copyright(c) 2020, 九哥BIMer
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import*
import System
ParTypes =[]
ParTypes = System.Enum.GetValues(ParameterType)
ParTypesName = list()
for i in ParTypes:
try:
ParTypesName.append((LabelUtils.GetLabelFor(i)))
except:
pass
OUT = ParTypes,ParTypesName
效果如下图:
同样的方式,我们也可以获取参数分组的中文标签,代码如下:
# Copyright(c) 2020, 九哥BIMer
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import*
import System
groups =[]
groups = System.Enum.GetValues(BuiltInParameterGroup)
groupsname = list()
for b in groups:
try:
groupsname.append((LabelUtils.GetLabelFor(b)))
except:
pass
OUT = groups,groupsname
效果如下:
配合 Data-Shape 使用,特别顺手,一定要试试哦~
好了,今天的分享就到这里了,该方法是通用的,获取 Element Type 之类的中文标签都是可以的,大家自行尝试,有不对的地方,请指正哈!
不知不觉中,“BIM的乐趣“群已经满了,不过不用担心,我们又创建了一个超级群,有希望入群的小伙伴,可以扫码,加我微信,备注来源,我来拉你入群哦~
本公众号还有其他Dynamo案例教程: