Revit的API已經(jīng)開(kāi)發(fā)了近二十年。
Revit API簡(jiǎn)介
Revit在本世紀(jì)初就有了一個(gè)可訪問(wèn)的API,可以用來(lái)驅(qū)動(dòng)軟件的幾乎所有方面。由于Revit應(yīng)用程序非常復(fù)雜,而且是為適應(yīng)多種受眾(結(jié)構(gòu)、MEP等)而構(gòu)建的,所以它的API非常大,需要一段時(shí)間才能直觀地掌握,也就不足為奇了。
我經(jīng)常發(fā)現(xiàn),最簡(jiǎn)單的方法是把Revit看作一個(gè)數(shù)據(jù)庫(kù),我們?cè)谑褂脩?yīng)用程序時(shí)不斷更新它。數(shù)據(jù)庫(kù)存儲(chǔ)我們的內(nèi)容(它的元素ID、類別、位置等)。在此之上是一個(gè)GUI,它表示元素在3D空間中的幾何/位置,并允許我們與元素交互。最后,還有一點(diǎn)網(wǎng)絡(luò)魔法,允許我們通過(guò)本地網(wǎng)絡(luò)/ Revit服務(wù)器/ BIM360建立工作共享。
以這種方式思考Revit與大多數(shù)用戶體驗(yàn)軟件的方式是完全不同的。實(shí)際上,當(dāng)我們編寫(xiě)針對(duì)Revit API的腳本時(shí),我們只是對(duì)數(shù)據(jù)庫(kù)進(jìn)行一系列調(diào)用,受API規(guī)則的約束。
版本和歷史
對(duì)于Revit的每個(gè)發(fā)行版和子發(fā)行版,Autodesk Revit團(tuán)隊(duì)都會(huì)對(duì)其API進(jìn)行細(xì)微的更新或添加。這些變化主要與軟件本身的功能變化有關(guān)(例如,Revit2020的最短路徑分析API)。
悠久的歷史有時(shí)意味著Revit API看起來(lái)可能不一致或以意想不到的方式構(gòu)造——這通常發(fā)生在較老的API上,如果不影響很多人,這些API就不能改變。
Revit API的結(jié)構(gòu)
考慮到它的大小,它可以幫助我們后退一步,了解這個(gè)API通常是如何構(gòu)造的。Revit API公開(kāi)了大約1700個(gè)類、50個(gè)接口和500個(gè)枚舉,幾乎涵蓋了應(yīng)用程序的所有方面和功能。這些類被細(xì)分為幾個(gè)名稱空間,通常與特定的用法相關(guān)(例如,管道或結(jié)構(gòu)鋼)。絕大多數(shù)類駐留在Autodesk.Revit.DB名稱空間中。
在您的計(jì)算機(jī)上,API類分為兩個(gè).dll文件:RevitAPI.dll和RevitAPIUI.dll,可以在以下位置找到:C:\Program Files\Autodesk\Revit[版本]
Revit SDK和API文檔
軟件開(kāi)發(fā)套件(SDK)是軟件供應(yīng)商向開(kāi)發(fā)人員分發(fā)有關(guān)其API的信息的常用方法。官方Revit SDK可以點(diǎn)擊下面鏈接找到
1、https://www.autodesk.com/developer-network/platform-technologies/revit
所有API都需要技術(shù)文檔,這樣程序員就可以學(xué)習(xí)如何使用代碼驅(qū)動(dòng)應(yīng)用程序。Revit SDK包含.chm文件中的官方API文檔以及示例代碼(用Visual Basic和C#編寫(xiě))。(https://www.revitapidocs.com/)
但是,我建議閱讀http://APIDocs.co(https://apidocs.co/)網(wǎng)站上的Revit API ,這比打開(kāi).chm文件方便得多,建議將其收藏。