Dynamo添加UI不可編輯參數(shù)
Hello大家好!我是九哥~
最近有小伙伴咨詢,如何在添加參數(shù)以后,用戶只能看不能編輯?
這塊吧,說起來難,實際上呢也可能不難,為啥呢,因為添加共享參數(shù)的節(jié)點很多,我們只需要找一個合適的,改改代碼就成,這樣就很簡單了。
首先,我們常見的添加共享參數(shù)的節(jié)點,長的都差不多:

可以看到,他們共有的,一般是參數(shù)名稱、參數(shù)組、參數(shù)類型、參數(shù)分組方式、實例or類型、族類別等等,其中也會有一些不一樣的輸入端,這是為什么呢?
這里,用到的第一個API知識是ExternalDefinitionCreationOptions,一個用于創(chuàng)建新的共享參數(shù)的定義選項,包括名稱、類型、可見性、GUID和是否可修改等,如下圖:

其中UserModifiable屬性,就是用來標識參數(shù)是否可以在UI中編輯的。

可以看到,這個是可get可set的屬性,我們直接設(shè)置即可。

基于此呢,我們可以自己寫一個函數(shù),或者改改別人的節(jié)點,如下:

修改后,我們就可以創(chuàng)建一個共享參數(shù)試下,可以看到,這個參數(shù)被灰置了,用戶在Revit中是不能直接編輯的。如果想要修改參數(shù)值,需要通過Dynamo或者編程的方式來修改。

創(chuàng)建共享參數(shù)的節(jié)點,邏輯比較復(fù)雜,我這里就不詳細講了,小伙伴們可以自己嘗試下,這里我就附上完整截圖和修改后的代碼,供小伙伴們測試。

B站我還不太會傳代碼,有需求可以私信我哈
標簽: