Revit二次開發(fā),Revit二次開發(fā)流程"> Revit二次開發(fā)需安裝必須的二次開發(fā)平臺(tái),明確開發(fā)環(huán)境、開發(fā)方式以及開發(fā)流程。開發(fā)環(huán)境Revit API可用與.NET Framework兼容的開發(fā)語(yǔ)言進(jìn)行編">
下載app免費(fèi)領(lǐng)取會(huì)員
Revit二次開發(fā)需安裝必須的二次開發(fā)平臺(tái),明確開發(fā)環(huán)境、開發(fā)方式以及開發(fā)流程。
Revit API可用與.NET Framework兼容的開發(fā)語(yǔ)言進(jìn)行編程,.NET Framework為用戶程序開發(fā)提供了一套安全模型,在此模型中可以確保使用的代碼被識(shí)別,保證了編程語(yǔ)言的一致性。支持.NET的編程語(yǔ)言有C#、Visual Basic、C++等。由于CH語(yǔ)言.NET平臺(tái)耦合度很高,且語(yǔ)法簡(jiǎn)潔,開發(fā)效率高,故選擇C#作為開發(fā)編程語(yǔ)言,安裝Microsoft.NET Framework 4.6。安裝Revit 2018作為建模平臺(tái),選擇的開發(fā)軟件工具為Visual Studio 2013,在程序開發(fā)前引入RevitAPl.dIl”及“RevitAPIUI.dlI”動(dòng)態(tài)鏈接庫(kù)。
通過(guò)Revit API 擴(kuò)展其功能模塊,主要有兩種特殊的接口派生類:外部命令(IExternalCommand)和外部應(yīng)用(IExternalApplications)。IExternalCommand是RevitAPI中實(shí)現(xiàn)外部擴(kuò)展的命令,內(nèi)含Excute函數(shù)。外部命令調(diào)用Excute函數(shù)來(lái)實(shí)現(xiàn)IExternalCommand,Excute 的定義方式public Autodesk.Revit.UI.Result Execute(ExternalCommandData cmdData,ref string message,ElementSet elements),分別為輸入?yún)?shù)CommandData(ExternalCommandData)、輸出參數(shù)message(string)、輸出參數(shù)elements(ElementSet)。開發(fā)者可以通過(guò)實(shí)現(xiàn)IExternalApplications來(lái)添加自己開發(fā)的Revit應(yīng)用,IExternalApplication 的接口要實(shí)現(xiàn)兩個(gè)抽象函數(shù):OnStartup和 OnShutdown,利用OnStartup()函數(shù)和 OnShutdown)函數(shù)定制Revit啟動(dòng)和關(guān)閉的時(shí)候所需的功能,開發(fā)時(shí)在外部命令中添加相應(yīng)的功能代碼,依附于外部應(yīng)用的框架,再利用.addin注冊(cè)文件共同控制著外部插件的識(shí)別和加載,一般用來(lái)創(chuàng)建插件的菜單欄。
RevitAPI為方便用戶配置自己的ExternalCommand和 ExternalApplication的行為提供了多種屬性,為命令類添加控制命令的事務(wù)模式和更新模式,通常選用手動(dòng)(Manual)模式,Transactiori屬性,用戶必須在實(shí)現(xiàn)IExternalCommand接口時(shí)指定外面命令使用的TransactionMode屬性。Regeneration用于控制外部命令或外部應(yīng)用程序的再生行為。為命令類添加控制命令的事務(wù)模式和更新模式[Transaction(TransactionMode.Manual)],[Regeneration(RegenerationOption.Manual)]使用API需要用到應(yīng)用類和文檔類。應(yīng)用類有UIApplication和 Application 。UIApplication用來(lái)提供訪問(wèn)UI級(jí)別接口,包括訪問(wèn)用戶界面·RibbonPanels,獲得用戶界面的活動(dòng)文檔等能力。Application用來(lái)提供訪問(wèn)其他應(yīng)用級(jí)別內(nèi)容接口。文檔類有UIDocument和 Document。
UIDocument用來(lái)提供訪問(wèn)UI級(jí)別接口,Document用來(lái)提供訪問(wèn)其他應(yīng)用級(jí)別內(nèi)容接口。
如圖所示為Revit二次開發(fā)基本流程。
文:高建新 大連海事大學(xué)
轉(zhuǎn)載請(qǐng)注明來(lái)源本文地址:https://www.tuituisoft/bim/23313.html
上一篇:沒(méi)有了
下一篇:沒(méi)有了