1. 程式人生 > >Revit二次開發之獲取引數繫結的類別【比目魚原創】

Revit二次開發之獲取引數繫結的類別【比目魚原創】

專案引數儲存在Revit 裡,所以刪除共享引數或者共享引數檔案,都不會對專案引數產生影響,哪怕專案引數是通過共享引數建立的。專案引數在建立的時候,就已經和類別綁定了。也就是說和類別對應的元素都加上了新的引數。 

在“專案引數”裡看到的引數,實際上是一系列的繫結(Binding)。 

注意:通過API無法建立專案引數。

程式碼:獲取類別和引數的繫結

 BindingMap map = RevitDoc.ParameterBindings;
            DefinitionBindingMapIterator dep = map.ForwardIterator();
            while (dep.MoveNext())
            {
                Definition definition = dep.Key;
                //獲取引數定義的騅本資訊
                string definitionName = definition.Name;
                ParameterType parameterType = definition.ParameterType;
                InstanceBinding instanceBinding = dep.Current as InstanceBinding;
                if (instanceBinding != null)
                {
                    //獲取繫結的類別列表
                    CategorySet categorySet = instanceBinding.Categories;
                }

            }
 

 獲取元素的共享引數或專案引數可以通過兩種方式:

•遍歷Element. Parameters裡面的所有引數。
•通過引數名獲取引數Element. get_Parameter(引數名)。
InternalDefinition definition = parameter.Definition as InternalDefinition;
bool isSharedParameter = parameter.IsShared;//共享引數
bool isProjectParameter = definition.BuiltInParameter = = BuiltInParameter.INVALID && !parameter.IsShared; //專案引數
      

=========【更多高階應用請關注公眾號】========


===================================


相關推薦

Revit開發獲取引數類別比目魚原創

專案引數儲存在Revit 裡,所以刪除共享引數或者共享引數檔案,都不會對專案引數產生影響,哪怕專案引數是通過共享引數建立的。專案引數在建立的時候,就已經和類別綁定了。也就是說和類別對應的元素都加上了新的引數。  在“專案引數”裡看到的引數,實際上是一系列的繫結(Bindin

revit 開發基於族獲得實例

相關 space typeof cef doc 過濾 list eric category Revit並沒有直接開放基於族獲取實例元素的過濾器。不過有兩個相關的過濾器,一個是FamilySymbolFilter(ElementId familyId),可以基於族ID過濾出所

踏上Revit開發路 2 從“HelloWorld”入手

import none 工具 環境變量 各級 style first app ati 2 從“HelloWorld”入手 在歐特克的官方網頁上有個叫《My First Plug-in Training》的項目,號稱可以讓一個完全沒有編程基礎的人照著做出一個插件來。我快速瀏覽

Revit開發載入族

return mes 刪除 開發 urn com tar 失敗 commit 載入族 此方法載入族無法覆蓋原有族,即若存在相同名稱的族則會載入失敗 1 Family family = null; //族 2 3 Transaction transact

Revit開發 自定義選項卡排在最前端

引用AdWindows.dll類庫  Autodesk.Windows.RibbonControl ribbon = AutodeskWindows.ComponentManager.Ribbon;        

Revit開發單位轉換

Revit內部基本單位是英尺,如果要獲取或設定構件引數數值需要進行單位轉換,比如轉換為基本的毫米或米等單位 1.可以使用常規方式進行轉換:   1英尺等於0.3047999995367米,等於304.7999995367毫米   2.可以使用RevitA

Revit開發 有點時間 分析一下Reference

Reference 是Revit物件的引用 也是二次開發必須瞭解和熟練掌握的技能之一,物件引用包括 圖元基礎引用 可以根據此引用 實現圖元轉化 引數資訊過濾和設定,此外對於標註來說更重要的是 Face-面引用 Curve-線引用 Point-點引用。 那麼根據Revit版本

Revit開發替換牆的構造層資訊

UIDocument uidoc=commandData.Application.ActiveUIDocument;             Document doc=uidoc.Document;             Material material=new Fi

Revit開發射線相交法

using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.Attributes; using System.Windows.Media.Imaging; using Autodesk.

Revit開發

以前是寫java程式碼的,從未接觸過Revit,自2018/8/13入職新的工作崗位,原本以為是用java寫後臺管理程式,結果維護了一箇中的平臺,第二個周開始新的任務,做Revit的二次開發。對於一個不知道Revit為何物的人,做Revit二次開發,真的好難

Revit開發職業精神篇

今天在某網站看到蛋總的免費資源被某些人拿來抄襲後改頭換面,並以高價出售,感覺特別來氣;作為蛋總免費分享資源的受益者,突然感慨萬千,以這篇文章來表達一些自己的看法,希望作為Revit二次開發的愛好者在學習免費資源的同時能夠有所自省,請擁有最起碼的職業道德。 1、從來沒有公開對蛋總說過感謝的話,感覺

Revit開發技能篇(四)———區域標高不一致縮圖的實現

使用Revit出圖時,往往會遇到專案地庫標高不一致,在標註機電管線時,需要按照地庫地面標高去標註,但地庫地面標高又無法統一,需要手動取框選區域形成標高縮圖註明標高。 本文簡單分享一下利用土建模型中的樓板實現縮圖的快速方法; 1、讀取地庫建築面層的所有輪廓,篩選出建築面層的範圍線,利用範圍線生

Revit開發技能篇(三)———窗體的實現

在Revit中很多時候,都需要使用者輸入相關的資料,然後再進行程式的執行。在Revit中如何實現窗體呢?請看以下程式碼: ParkingForm frmDlg = new ParkingForm(); frmDlg.ShowDia

Revit開發技能篇()———軸網尺寸標註

在利用revit出圖時,避免不了要對軸網進行標註,下面分享一下軸網尺寸標註的一些開發經驗: 軸網尺寸標註: 首先要獲取到尺寸標註的引用,將引用新增到引用集合中,關鍵程式碼如下: ReferenceArray array = new ReferenceArray(); array.

Revit開發技能篇(一)———軸網自動對齊

在做專案的過程中,軸網都是進行翻模或者拾取,而翻模出來的軸網往往都是不堪入目的,為了滿足專案需要,做了軸網對齊的功能,廢話不多說,直接上乾貨。 首先做一些準備工作,先建立一個軸網過濾類,接下來會用到,程式碼如下: class GridSelectionFilter : ISelection

Revit開發建立雙坡式屋頂及在屋頂開洞口比目魚原創

=========【更多高階應用請關注公眾號】======== =================================== 建立拉昇屋頂的兩個方法: ① ExtrusionRoof  NewExtrusionRoof (CurveArray p

Revit開發Parameter單位轉換

由於Revit內部使用英制單位,我們在很多時候需要將Revit內部的各種數值轉換成我們熟悉的公制單位,尤其是對Parameter。好在Revit API為我們提供了單位轉換類UnitUtils,其中定義了各種靜態方法讓我們能很方便地進行單位轉換而不必瞭解各種單位

Revit開發如何選取Revit元素比目魚原創

Revit API提供的獲取元素的互動包括以下幾種方式: 方式(1)先選擇元素,再執行外部命令,Revit文件可以獲取選擇元素並做相應處理。方式(2)先執行命令,再選擇元素或者位置,選擇結束後命令繼續執行。 這種方式的選擇又包含 ①單選。只能選取一個元素,選擇後當前選擇操作

Revit開發WPF通過txt讀取和儲存TextBox的字串附原始碼

軟體版本:VS2015 Revit2018 功能:Revit中執行程式時,在Window中的TextBox中自動顯示指定txt檔案中的字串內容 缺點:會將txt檔案中的字串全部顯示 程式展示: 1.程式啟動 2.輸入“666”,點選Button1,自動關閉窗體 3

Revit 開發多執行緒

       原先開發外掛時沒有注意到模態和非模態對話方塊在Revit中的區別,直到最近做了一個專案,需要啟動事務對Revit資料進行修改,在視窗為模態對話方塊中沒有問題,但是變成非模態對話時則出現錯誤,大意是無法在API內容外啟動事務等等,其實質就是Revit對多執行緒支