この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:6
ページ更新者:T
更新日時:2020-05-13 09:47:21

タイトル: アドインの作成サンプル(外部アプリケーション編)
SEOタイトル: 【Revit API】アドインの作成サンプル(外部アプリケーション編)

前提

Visual Studioをインストール済み

Revitをインストール済み (今回使用するバージョンは2021)

今回はC#を例に簡単なアドインを作成する(Hello Worldをダイアログで表示させるアドイン)

 

プロジェクトの作成

Visual Studioでプロジェクトを新規作成する。

C#を使えるクラスライブラリを選択する。

プロジェクト名は「CsSampleProject」とする。

 

以下のファイルが自動で作成される。

Class1.cs
using System;

namespace CsSampleProject
{
    public class Class1
    {
    }
}

 

 

※入力フォームなどの画面UIを作成する場合は「.NET Framework」を使用すること

その場合、そのままではビルドが成功しないので、「プロジェクトを右クリック」→「プロパティ」→「アプリケーション」タブ にある「出力の種類」を「クラス ライブラリ」に変更する。

 

DLLの参照

作ったプロジェクトがRevit APIのDLLを参照するように設定する。

参照方法は以下の記事を参照。

https://jpn.itlibra.com/article?id=21487

 

実装

最初に作られたクラスに以下の記述をする。

Class1.cs

using System;
using System.Reflection;

using Autodesk.Revit.UI;
using Autodesk.Revit.DB

namespace CsSampleProject
{
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]

    public class CsHelloWorld : IExternalApplication
    {
        public Result
OnStartup(UIControlledApplication application)
        {
            RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel");

            string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;
            PushButtonData buttonData = new PushButtonData("cmdHelloWorld",
               "Hello World", thisAssemblyPath, "HelloWorld.HelloWorld");

            PushButton pushButton = ribbonPanel.AddItem(buttonData) as PushButton;

            pushButton.ToolTip = "Say hello to the entire world.";

            return Result.Succeeded;
        }

        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }
    }

}

 

ビルド

ビルド」→「ソリューションのビルド」を選択する。

ビルドエラーが無いかコンソールで確認すること。

ビルドしたdllファイルの出力先はコンソール上に表示される。

dllは最終的には後述するマニフェストファイルと同じパスに保存することを推奨する。

 

マニフェストファイルの作成

以下のようなマニフェストファイルを作成します。

CsSampleProject.addin

<RevitAddIns>

    <AddIn Type="Application">

        <Name>SampleAddin</Name>

        <Assembly>SampleAddin1.dll</Assembly>

        <FullClassName>SampleAddin1.Class1</FullClassName>

        <ClientId>3B1635B8-FAE7-4E07-A2B3-6EC7B8AEF57E</ClientId>

        <VendorId>会社名</VendorId>

        <VendorDescription>会社説明</VendorDescr
iption>

    </AddIn>

</RevitAddIns>

※Assemlyはddlの出力先を指定する。

マニフェストファイルの詳細な定義方法は以下の記事を参照。

https://jpn.itlibra.com/article?id=21489

 

マニフェストファイルの設置

以下の記事を参照。

https://jpn.itlibra.com/article?id=21488

 

外部アプリケーションの起動

Revitを再起動する。

アドイン」タブを選択して、追加されたアプリを選択する。

Hello Worldのダイアログが出現すればOK。