显示ParameterType和Parameter Group中文标签

        本篇文章我们来聊聊 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的乐趣“群已经满了,不过不用担心,我们又创建了一个超级群,有希望入群的小伙伴,可以扫码,加我微信,备注来源,我来拉你入群哦~

图片

 本公众号还有其他Dynamo案例教程:

一、Dynamo文章目录整理——BIM的乐趣By九哥

二、Dynamo幕墙表皮创建随机UV网格

图片

 

猜你喜欢

转载自blog.csdn.net/qq_34366481/article/details/113102324