今天我们来聊聊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文章还有:
三、在Visual Studio中搭建Dynamo Python开发环境,效率飞一般的增长
九、获取链接文件Document——Dynamo Python系列教程(一)
十一、图元的基本操作(隔离、移动、旋转、删除)——Dynamo Python系列教程(三)
十四、Dynamo与Revit API之间的转换——Dynamo Python系列教程(五)
十七、Revit元素类别——Dynamo Python系列教程(六)
十九、IronPython与.NET Framework——Dynamo Python系列教程(七)
二十、什么是API?——Dynamo Python系列教程(八)
二十一、Revit API简介——Dynamo Python系列教程(九)
二十二、如何阅读Revit的API文档——Dynamo Python系列教程(十)
二十四、Dynamo一键清理Revit中未放置的房间和多余的房间
二十五、Dynamo2.5都更新了啥?
二十六、Dynamo批量将房间名称转换为模型文字