LoginSignup
1
1

Revitアドイン開発 超初心者に役に立ちそうなサイトのまとめ

Last updated at Posted at 2024-05-14

概要

Revitのアドイン開発に役に立つサイトやページをまとめました。
私はRevitアドイン開発の初心者で、プログラムを通じて図面に直接触れた経験はほとんどありません。また、アドイン開発を通じてでも直接Revitの仕様に関わるようなコアな部分に触れることはあまりありません。それでも時々Revit APIの仕様の把握が必要な場面があり、その際にRevit関連の情報収集に少し苦労しています。

そこで、自分を含めこれからRevitアドイン開発を始める人や少し関わる可能性のある人にとって、抑えていて損はなさそうな有用な情報が記載されているサイトをまとめてみました。

※掲載しているURLのページには少し古い情報もありますが、初学者にとってはとても役に立つと思うので掲載しています。

目次

Revit APIに関して解説しているページ
Revit APIの仕様に関するドキュメント関連
アドイン開発に役立ちそうなツール
押さえておいたほうが良さそうな知識
そのほか役に立つサイト

Revit APIに関して解説しているページ

Revitアドイン基礎

Revitの歴史や開発環境がまとめられています。
また、開発を進めるにあたって必要な「外部コマンド」「外部アプリケーション」「アドインファイル」についてもまとめられています。


Revitアドイン応用~具体例

一つ前のURLの応用編です。
「スレッド」や「トランザクション」等、こちらも開発を進めるにあたって必要となる情報がまとめられています。


AutoCAD アドオン開発者のためのRevit API入門~概説

「AutoCAD アドオン開発者のための」とありますが、AutoCAD アドオンの開発経験がなくても役に立つ情報が沢山記載されているので、こちらも目を通しておくことをオススメします。


AutoCAD アドオン開発者のためのRevit API入門~アドイン

一つ上のページの続きです。
「外部コマンド」や「外部アプリケーション」等、アドインに関する情報が記載されています。

AutoCAD アドオン開発者のためのRevit API入門~アクセス

Revit APIを使用して、Revitのデータにアクセス方法が記載されています。


Revit APIの仕様に関するドキュメント関連

Revit API 開発者用ガイド

Revit APIの概要や、使用方法について説明しているページです。


Revit API Docs

RevitAPIのオンラインドキュメントです。
RevitAPI内のクラス名やメソッド名で検索すると、それに関する仕様が表示されます。
RevitAPIで気になるクラス名やメソッド名があった場合、このドキュメントを使用して仕様を確認することができます。


アドイン開発に役立ちそうなツール

Revit Lookup

このツールを使用すると、Revitのプロジェクトファイルやファミリ ファイルにある色々な要素の情報を確認できます。

後述する「拡張ストレージ」の構成や保存内容も、このツールを使用して確認できます。
以下からダウンロードできます。

押さえておいたほうが良さそうな知識

基本的に Revit APIに関して解説しているページに記載されている知識が多いです。


Revit APIの呼出し方法

Revit API は、単一スレッドのアクセスのみサポートしています。
なので、Revit APIを呼び出す際は、メイン スレッドで実行する必要があります。

参考URL

Revit 開発者用ガイド 配置オプション


ジャーナルファイル

Revitの起動から終了したタイミングまでのRevit上の操作を記録したファイルです。

参考URL

Revit 開発者用ガイド ジャーナルファイルについて

Autodesk Support Revit ジャーナル ファイルの場所


拡張ストレージ

Revitのファイルにアドイン関連のデータなどを保存したい場合に使用します。

参考URL

Revit 開発者用ガイド 拡張ストレージ


Revit起動時、終了時の処理の実装

インターフェース「IExternalApplication」を実装して使用します。
「IExternalApplication」には2つの抽象メソッド「OnStartup」「OnShutdown」があります。
Revit起動時にはOnStartup()が、終了時にはOnShutdown()が呼び出されます。
OnStartup()では設定ファイルの読み込みのような、最初に最初に行っておきたい初期処理を書くと便利です。
また私の所属していたプロジェクトでは、アドインを起動するためのボタンの作成処理も、このOnstartup()の中で行っていました。

参考URL

Revit 開発者用ガイド 外部アプリケーション

RevitAPI屋さん RevitAPIのプログラムをタブ・リボン・ボタンでアドイン化


ユーザーの操作に合わせて特定の処理を実行

ユーザーが特定の操作を実行しようとするときや、実行された直後に特定の処理を行いたい場合のため、Revit APIには様々なイベントが定義されています。

どのようなイベントがあるか、イベントの登録、キャンセル方法は下記の参考URLから確認できます。

参考URL

Revit 開発者用ガイド イベント


ポストコマンド

PostCommand()を使用することで、ユーザーがアドインのボタンを押したのと同じように、
外部アドインをコードからも実行できます。
また、Revitのネイティブなコマンドも実行できます。
CommandIDを引数に指定してポストします。
ポストした後に実際に実行されるタイミングは、Revitの制御がAPIから戻ったときです。

参考URL

Revit 開発者用ガイド コマンド

AutoCAD DevBlog Revit 2014 API の新機能

※上記URLの真ん中あたりのPostCommand記載部分

補足

ポストコマンドの終了を検出して、ポストコマンド後に後続処理を実行したい場合は、下記のURLを参考にしてください。


外部コマンド、外部アプリケーション

アドインを用いて作成できるコマンドのことです。
このコマンドをユーザーが実行することにより、アドインの処理を走らせることができます。

参考URL

Revit 開発者用ガイド 配置オプション


外部アプリケーションを実行するためのボタンの種類

外部アプリケーションを実行するためのボタンには種類が色々とあります。
「Button」「PulldownButton」「SplitButton」等…

色々な種類のボタンを知っておくと、UIの幅も広がります。

参考URL

Revit 開発者用ガイド リボン パネルとコントロール


外部イベント

外部のスレッドとRevit APIの間の通信はすべて、アイドリングイベントもしくは外部イベントのハンドラ内で行われる必要があります。
外部イベントを使用すると、Revitが入力を受け入れる準備ができたときにRevit APIに関する処理の実行できます。
インターフェース「IExternalEventHandler」を実装したクラスを用意し、
Execute()にコールバックメソッド (Revit APIに関する処理) を渡す形になります。
ExternalEvent.Raise()を呼び出すと、その後Revitが入力を受け入れる準備ができたときに、 IExternalEventHandler.Execute()メソッドが呼び出されます。

参考URL

Revit 開発者用ガイド 外部イベント


そのほか役に立つサイト

The Building Coder

Autodeskのエンジニアのブログです。
RevitAPIに関する情報の記事が多く載せられています。


RevitAPI屋さん コピペで使えるコード集

Revitアドイン開発者がRevit APIのコード集を掲載しているサイトです。


Technology Perspective from Japan

オートデスク株式会社のブログです。
Revitに関する情報も掲載されています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1