下載app免費領(lǐng)取會員
之前中文網(wǎng)小編分享了不少關(guān)于Revit二次開發(fā)的文章,今天我們想繼續(xù)聊聊這個話題,講跟Revit接口有關(guān)的一些內(nèi)容。
RevitAPI提供了強大的類庫,配備一套完整的機制規(guī)范和擴展Revit的功能,Revit主要提供了RevitAPI.dll和RevitAPIUI.dll兩個類庫文件,其中封裝了大量的庫函數(shù)供開發(fā)者調(diào)用,一般開發(fā)者都需要調(diào)用IExternalCommand函數(shù)來實現(xiàn)外部應(yīng)用,如果Revit處于運行狀態(tài)下,外部命令就會被觸發(fā)激活,當使用者調(diào)用該命令,軟件會自動地去訪問模型數(shù)據(jù)。
如果開發(fā)者創(chuàng)建的外部命令被集成在Revit中后,一般通過Revit功能區(qū)的附加模塊欄目或者外部自定義菜單欄進行觸發(fā)。
Revit提供了IExternalCommand接口用于使用者訪問模型數(shù)據(jù),該接口只提供Excute()函數(shù),因此用戶需要重載該函數(shù)來進行開發(fā),該函數(shù)主要提供了輸入?yún)?shù)commandData、輸出參數(shù)message和輸出參數(shù)elemnt,不同的參數(shù)功能基本能滿足用戶者的需求。當調(diào)用到接口后,如果實際訪問到模型數(shù)據(jù),需要使用庫函數(shù)中的類函數(shù),Revit為用戶訪問數(shù)據(jù)提供了UIDocument和Document兩個大類,Document類主要用于訪問模型上的數(shù)據(jù),例如模型的場地和位置、模型中梁板柱等元素的數(shù)據(jù)等,UIDocument類提供更好的用戶交互性,比如當用戶希望獲取選中的Revit模型中某個構(gòu)件的數(shù)據(jù),利用該類中的函數(shù)將會獲得軟件給出的數(shù)據(jù)。
Revit也為用戶提供了用于添加外部應(yīng)用的接口IExternalApplication,該接口封裝了OnStartup和OnShutdown函數(shù)。如果用戶希望在Revit原有的功能欄中添加需求的功能項目,該接口將能提供更多的方便用于個性化UI開發(fā),但是無法訪問模型的數(shù)據(jù)。
Revit將每次修改模型的操作都會進行一個自動記錄,該行為稱為事務(wù),如果一個修改操作沒有被完成,當軟件執(zhí)行外部命令的時候就會拋異常,這時候會產(chǎn)生事務(wù)回滾的現(xiàn)象。事務(wù)的模式主要有手動模式和自動模式,其也提供了Transaction、SubTransaction以及TransactionGroup三個類。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit技巧 | Revit族庫有什么用?Revit中族規(guī)劃及創(chuàng)建族庫的必要性
下一篇:Revit技巧 | Revit的元素由哪幾大類?元素對Revit模型有多重要?
推薦專題