显示ParameterType和Parameter Group中
2020-05-18 本文已影响0人
九哥BIMer
今天我们来聊聊ParameterType和Parameter Group这两个节点,因为每次使用的时候,都特别的痛苦,明明Revit里是显示中文的,可是这两个节点显示下拉菜单里,显示的却是英文,而且Parameter Group显示的更是Butitin Parameter,是以PG开头的显示方式,对于英文不好的我,简直是太痛苦了。。。
image那么,有没有办法,获取ParameterType和Parameter Group的中文名称?答案,当然是有的。
这里呢,就用到了Revit API中一个叫做“LabelUtils”的方法——获取标签的方法,我们在API中搜一下这个,如下图:
image我们点ParameterType就能看到基本语法:
image想要得到ParameterType的标签,我们就需要先得到ParameterType,这里我们随意点下上面图中的ParameterType,就会跳转到ParameterType Enumeration页面,这里展示该枚举下的所有方法:
image这个东西有很多,我们就获取基本参数类型就行,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
效果如下图:
image样的方式,我们也可以获取参数分组的中文标签,代码如下:
# 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
效果如下:
image合Data-Shape使用,特别顺手,一定要试试哦~
image好了,今天的分享就到这里了,该方法是通用的,获取Element Type之类的中文标签都是可以的,大家自行尝试,有不对的地方,请指正哈!
BIM的乐趣“群成员已经过百了,有希望入群的小伙伴,可以加我好友,备注来源,我来拉你入群哦~