Revit學習之路01_Revit基礎

序言:

此分類記錄本身的Revit學習之路。初學者不免一葉障目,不見泰山,歡迎一塊兒交流學習!app

Revit介紹

       Revit專爲建築信息模型(BIM)構建的一款建模軟件。隨着BIM概念在國內的興起,各大設計院對Revit建模的需求增多,相關的基於Revit的二次開發也逐漸增多。具體介紹不在搬運。學習

       Revit是專爲BIM構建的軟件,瞭解Revit必須先了解BIM。BIM的概念不單單是二維圖紙到三維模型的變化,BIM是一個信息管理和交互的平臺。Revit既然做爲專爲BIM構建的軟件,那麼他就必須可以管理模型和信息。spa

參考:https://zhuanlan.zhihu.com/p/20164680?columnSlug=BIMinfo插件

       Revit做爲一個平臺類的軟件,那麼必須有平臺的功能:一、可自定義的菜單二、加載外部插件三、提供外部插件調用的藉口。設計

Revit菜單

Revit 二次開發建立自定義外部選項卡時 須要引用Revit·外部應用接口,而後在Revit啓動的時候(OnStartup)建立 Tab,Panel,Button。因爲二次開發菜單常常變更,總去調程序十分麻煩。因此應該將菜單定義到一個配置文件中,Revit啓動的時候去讀取菜單配置。這部分博主剛作過,後續會詳細介紹。xml

註冊插件

Revit經過AddIn文件本質是Xml文件)來加載外部插件。文件格式以下:繼承

<?xml version="1.0" encoding="utf-8"?>接口

<RevitAddIns>utf-8

<!—調用外部插件的類型[Command]和[Application]-->element

<AddIn Type="Command">

<!—程序集用於反射調用插件-->

<Assembly>D:\HelloWorld\bin\Debug\HelloWorld.dll</Assembly>

<!—惟一標示-->

<AddInId>4d8936ea-82ca-49b0-abc0-d0904d8bd716</AddInId>

<FullClassName>HelloWorld.Class1</FullClassName>

<!—顯示的名稱-->

<Text>HelloWorld</Text>

<!—開發商信息-->

<VendorId>ABC</VentorId>

</AddIn>

</RevitAddIns>

插件調用

      一、 添加RevitAPI.dll和RevitUI.dll到項目的參考引用中。它們能夠Revit的安裝目錄下或者SDK包中找到。二、繼承IExternalCommand接口並實現接口的Execute()方法。

代碼示例:

//1、命令調用

using Autodesk.Revit.DB; 

using Autodesk.Revit.UI; 

using Autodesk.Revit.Attributes; 

 

namespace HelloWorld 

    [Transaction(TransactionMode.Manual)] 

    public class HelloWorld : IExternalCommand 

        public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements) 

        { 

            TaskDialog.Show("Title", "Hello World"); 

            return Result.Succeeded; 

        } 

    } 

//2、外部應用程序 

using Autodesk.Revit.DB; 

using Autodesk.Revit.UI; 

using Autodesk.Revit.Attributes; 

 

namespace App 

    [Transaction(TransactionMode.Manual)] 

    public class App : IExternalApplication 

    { 

        public Result OnShutdown(UIControlledApplication application) 

        { 

            TaskDialog.Show("結束", "結束"); 

            return Result.Succeeded; 

        } 

 

        public Result OnStartup(UIControlledApplication application) 

        { 

            TaskDialog.Show("開始", "開始"); 

            return Result.Succeeded; 

        } 

    } 

}

結語

       正式學習Revit開發的第一天,千里之行始於足下!

相關文章
相關標籤/搜索