Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

阿柒R7發表於2021-02-07

Revit二次開發環境搭建(Revit 2019+Visual Studio 2017)準備內容


Revit 2019開發環境的搭建,需要安裝的內容如下:
  1. Revit 2019(主要的開發環境)
  2. Visual Studio 2019(用於程式碼的編寫)
  3. Revit SDK 2019
  4. AddinManager(用於管理二次開發外掛)
  5. Revit Lookup(檢視工具)
  6. lLSpy 4.0.1(檢視Revit API)

安裝


        系統要求:Windows 10 (x64)

Revit 2020 的安裝

        可以選擇瀏覽器搜尋Revit找到官網下載,只能試用版本(2020可能已經試用版和正式版2合1了,但是試用到期之後還是要錢)或者選用教育/學生版。如果想要永久版本的……(咳咳,都懂得這東西不好發,而且有手就找得到,懶得找就私信我或者VX:R7jsdh)
        太久版本的Revit版本建議還是不要安裝了吧。(Revit 安裝過程小概率會遇到總是安裝失敗的問題,不過不屬於本篇筆記的內容,故不加贅述,如果遇到了,同上,私聊,95%的把握可以幫你解決)

Visual Studio 2019 的安裝

        在VS社群中可以找到下載連結,可以點選這裡下載。
        同時,請注意 .NET框架的安裝,另外也要安裝 .NET Core 。官方給出的是:Revit 2019 對應 .NET Framwork 4.7。但是本文之後需要安裝的 Revit Lookup 用到的是 4.7 的框架,所以即便您安裝的是 Revit 2020,請依舊安裝 4.7 框架。
        如若想要安裝其他版本,譬如Professional,但是苦於只能使用試用版,同上,私信 or VX。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

Revit SDK 2020

        點選這裡跳轉下載地址,安裝路徑最好和 Revit 2020 安裝在同一路徑,非要不在一起也無大礙。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

配置 AddinManager

        Revit SDK 2020安裝路徑應該包含了Revit SDK檔案和AddinManager外掛,用來允許外部進行二次開發程式碼。
        在Windows 10 中可能會找不到該目錄:C:\ProgramData\Autodesk\Revit\Addins\2020,需要開啟資源管理器的【選項卡檢視→勾選隱藏的專案】。
        複製SDK檔案下的Add-In Manager目錄下的AddInManager.dll和Autodesk.AddInManager.addin檔案到上面的目錄中。然後更改Autodesk.AddInManager.addin檔案中的Assembly標籤中的東西,裡面的路徑為SDK的實際安裝路徑,然後儲存。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

如果找不到這句說的2個.dll檔案,請參照下方步驟。
  1. 如果你安裝了 Revit 2019 SDK,那麼可直接將19的這兩個AddIn檔案複製到上方路徑中;
  2. 如果沒有,那麼請【移步?這裡】(提取碼:76ig),同樣的下載完之後複製兩個檔案到上方路徑即可。

        更改之後開啟Revit即可在【附加模組→外部工具】中看到安裝的外掛。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
提示如果有要求選擇載入型別的視窗,請一律選擇“總是載入”,切記!Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

Revit Lookup

        點選這裡跳轉下載地址。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
        選擇Download ZIP,下載後解壓在先前安裝的Revit SDK路徑下,之後點選解壓完之後的專案資料夾,找到最下面的RevitLookup.sln檔案,雙擊使用VS開啟。

如果有彈出視窗顯示對應的.NET Framwork 框架版本不對應,請選擇第二項,為該專案下載並安裝對應版本的.NET 框架,之後瀏覽器會自動開啟一個連結,連結就是框架的下載地址。選擇Download .NET Framwork 4.7 Developer Pack,跳轉到下載頁面之後,會提示你是否需要另外的語言包,確定下載原英文框架之後,可以再自行下載中文(簡體)語言包。兩個安裝包都安裝好之後,就會發現開啟RevitLookup.sln檔案不載有彈窗提示。

        專案開啟之後重新新增下面的引用,剛開啟專案的時候,這幾個引用會有黃色警告⚠的標記,在Revit安裝路徑下可以找到這些.dll(引用),之後點選啟動▶,是否出現提示或者其他視窗請不要在意,主要檢視在 C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS\bin\Debug 中有沒有出現這個檔案:RevitLookup.dll。
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
需要重新新增的引用
AdWindows
RevitAPI
RevitAPIIFC
RevitAPIMacros
RevitAPIUI
RevitAPIUIMacros
快速找到上方引用的方法
  1. 右鍵選擇【引用→新增引用】
  2. 開啟【引用管理器→瀏覽→選擇要引用的檔案】
  3. 在瀏覽視窗的右上方搜尋框中輸入需要新增的引用,系統即可自動檢索到所需內容
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)

        在這之後,進入SDK安裝路徑:C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS,找到RevitLookup.addin檔案,開啟檔案,將裡面的Assembly標籤內容修改為(即上述編譯生成的RevitLookup.dll所在的路徑,也就是?C:\Program Files (x86)\Autodesk\Revit 2020 SDK\RevitLookup-2019.0.0.7\CS\bin\Debug)    
        這之後,將這個已經修改過的RevitLookup.dll拷貝到該目錄中?C:\ProgramData\Autodesk\Revit\Addins\2020,如此,便完成RevitLookup的安裝,重啟Revit 2020之後就可以在選項卡【附加模組】中看到RevitLookup,如下圖:
Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
需要提醒的是,紅框標記處的Revit Lookup只有當開啟一個專案的時候才會亮起,否則是灰色的圖示且不能點選。

ILSpy 4.0.1

        點選這裡跳轉下載地址。

測試

參考用例來自:https://www.cnblogs.com/bimer/p/7473208.html,有更改,並新增了一些注意點,但完全正確,請放心跟隨操作。
  1. 開啟Visual Studio 2019,建立新專案,找到建立模板【類庫(.NET Framwork)】,切記,選擇的是類庫(.NET Framwork),不是類庫(通用 Windows)或者類庫(.NET Standard),這裡一定會有人心急趕緊弄好而看錯。之後寫上專案名Hello Revit。
  2. 在右邊的引用中右鍵新增引用(RevitAPI.dllRevitAPIUI.dll),用上文一樣的方法,找到所需要的新增的引用,確定新增之後,記得把這裡上述兩個引用的【複製到本地】屬性改為false,否則會生成一大堆沒用的東西。因為做的是測試外掛,不可能脫離Revit程式本身來執行的。
  3. 除了using System;其他所有的引用全部刪掉;然後在後面加上下面的欄位。
    using Autodesk.Revit.DB;
    using Autodesk.Revit.UI;
    using Autodesk.Revit.Attributes;
  4. 在預設生成的public class Class1{}前面加上下面的欄位。
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
  5. 把預設生成的public class Class1{}改成下面的欄位。
    public class Class1: IExternalCommand{}
  6. 在上面的欄位內部新增下面的欄位。
    public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { }
  7. 在上面的欄位內部新增如下欄位。
    TaskDialog.Show(“Revit”, “Hello Revit!”);
    return Result.Succeeded;
  8. 最終這個.cs檔案的全部程式碼應該是下面這樣:
    using System; using Autodesk.Revit.DB; 
    using Autodesk.Revit.UI; 
    using Autodesk.Revit.Attributes; 
    namespace Hello_Revit
    {
        [Transaction(TransactionMode.Manual)]
        public class Class1 : IExternalCommand
        {
            public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
            {
                TaskDialog.Show("Revit", "Hello Revit!");
                return Autodesk.Revit.UI.Result.Succeeded;
            }
        }
    }
  9. CtrlK,S儲存全部檔案,不會快捷鍵的情點選【檔案】,找到【全部儲存】。之後右鍵專案本身選擇【屬性】,找到【生成】,把【目標平臺】改為 x64,省略該步驟在編譯的時候會出現警告。檢查無誤之後生成類庫,並記下輸出視窗中的.dll檔案的位置。【是目標平臺!不要看成平臺!Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)
  10. 新建一個文字檔案.txt,輸入以下內容。但是要注意的是:注意第4行、第5行和第6行,都要根據實際情況填寫。第4行Assembly標籤內就是上一步記下的.dll檔案的位置,第5行AddIn標籤的內容可以在這個類庫專案的Properties資料夾中的AssemblyInfo.cs檔案裡找到,直接把Guid冒號後面的引號中內容完全貼上到標籤內即可。【FullClassName標籤內的類名一定要和上面的類庫專案中.cs檔案的名稱空間一致,下面的程式碼中Hello和Revit欄位中間的下劃線是因為建立專案的名稱是Hello Revit,建立時會預設把空格當做下滑線處理。
    <?xml version ="1.0" encoding ="utf-8" standalone ="no"?>
    <RevitAddIns>
      <AddIn Type="Command">
        <Assembly>E:\文件\Visual Studio 2019\repos\Hello Revit\bin\Debug\Hello Revit.dll</Assembly>
        <AddInId>0d27e093-398b-41f2-bbfd-eaef14cad3b1</AddInId>
        <FullClassName>Hello_Revit.Class1</FullClassName>
        <Text>Hello Revit</Text>
        <VendorId>NAME</VendorId>
      </AddIn>
    </RevitAddIns>
  11. 把這個.txt檔案重新命名為HelloRevit.addin,複製到Revit外掛目錄下:C:\ProgramData\Autodesk\Revit\Addins\2020。
  12. 重啟Revit,選擇【附加模組→外部工具→Hello Revit】,執行之後就可以看到彈出對話方塊,測試成功。Revit二次開發環境配置(Revit 2020 +Visual Studio 2019)









相關文章