今天我們來聊聊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批量將房間名稱轉換爲模型文字