ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
前提
Visual Studioをインストール済み
Revitをインストール済み (今回使用するバージョンは2021)
今回はC#を例に簡単なアドインを作成する(Hello Worldをダイアログで表示させるアドイン)
プロジェクトの作成
Visual Studioでプロジェクトを新規作成する。
C#を使えるクラスライブラリを選択する。
プロジェクト名は「CsSampleProject」とする。
以下のファイルが自動で作成される。
Class1.cs |
---|
using System;
namespace CsSampleProject |
※入力フォームなどの画面UIを作成する場合は「.NET Framework」を使用すること
その場合、そのままではビルドが成功しないので、「プロジェクトを右クリック」→「プロパティ」→「アプリケーション」タブ にある「出力の種類」を「クラス ライブラリ」に変更する。
DLLの参照
作ったプロジェクトがRevit APIのDLLを参照するように設定する。
参照方法は以下の記事を参照。
https://jpn.itlibra.com/article?id=21487
実装
最初に作られたクラスに以下の記述をする。
Class1.cs |
---|
using System; using Autodesk.Revit.UI; namespace CsSampleProject public class CsHelloWorld : IExternalApplication string thisAssemblyPath = Assembly.GetExecutingAssembly().Location; PushButton pushButton = ribbonPanel.AddItem(buttonData) as PushButton; pushButton.ToolTip = "Say hello to the entire world."; return Result.Succeeded; public Result OnShutdown(UIControlledApplication application) [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] } |
IExternalApplicationを継承したクラスはOnStartupとOnShutdownメソッドを実装する。それぞれRevitの起動時と終了時に呼び出される処理を定義する。
IExternalCommandを継承クラスはExecuteメソッドを実装する。これはボタンを押された際の処理を定義する。
ビルド
「ビルド」→「ソリューションのビルド」を選択する。
ビルドエラーが無いかコンソールで確認すること。
ビルドしたdllファイルの出力先はコンソール上に表示される。
dllは最終的には後述するマニフェストファイルと同じパスに保存することを推奨する。
マニフェストファイルの作成
以下のようなマニフェストファイルを作成します。
CsSampleProject.addin |
---|
<RevitAddIns> <AddIn Type="Application"> <Name>SampleAddin</Name> <Assembly>CsSampleProject.dll</Assembly> <FullClassName>CsSampleProject.CsHelloWorld</FullClassName> <ClientId>3B1635B8-FAE7-4E07-A2B3-6EC7B8AEF57E</ClientId> <VendorId>会社名</VendorId> <VendorDescription>会社説明</VendorDescr </AddIn> </RevitAddIns> |
※Assemlyはddlの出力先を指定する。
マニフェストファイルの詳細な定義方法は以下の記事を参照。
https://jpn.itlibra.com/article?id=21489
マニフェストファイルの設置
以下の記事を参照。
https://jpn.itlibra.com/article?id=21488
外部アプリケーションの起動
Revitを再起動する。
「アドイン」タブを選択して、追加されたアプリを選択する。
Hello Worldのダイアログが出現すればOK。
- RevitAPI.dll と RevitAPIUI.dll の参照
- マニフェストファイルの書き方
- アドインの追加/設置方法
- アドインの作成サンプル(外部ツール編)
- 要素の取得と情報の表示
- 要素のカテゴリとマテリアルの取得と表示
- よく使うBuiltInCategoryの一覧
- 外部ツールでAutodesk.Revit.Documentを取得する方法
- エラーメッセージの設定方法
- 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
- 要素(カテゴリ、ファミリ、タイプ)とは
- ElementId とUniqueId の違い
- 要素フィルターの使い方
- 要素のパラメータ一覧の取得
- pyRevitの導入と簡単なアプリケーションの作成
- Revit SDKのサンプルの場所とビルド方法
- FamilySymbol(タイプ)の取得とパラメータの変更
- 相対パスでdllにアイコン画像を埋め込む方法
人気ページ
最近更新/作成されたページ
- ワードプレス(WordPress) (2023-03-08 20:46:37)
- クラスベースビューでテンプレートに値を渡す方法 NEW! (2023-03-07 11:01:59)
- djangoのクラスベースビュー作り方とviewの分割方法 (2023-03-07 10:50:02)
- djangoのログ出力方法 (2023-03-07 10:43:47)
- 【django】モデルの中身を確認したい NEW! (2023-03-06 19:35:23)
- 【django】cron用コマンド・ファイルの作成 NEW! (2023-03-06 15:19:29)
- DjangoにおけるデータベースのSELECT, INSERT, UPDATE, DELETE (2023-03-06 13:33:56)
- データベースの作成 (2023-03-06 00:10:51)
- インストール方法(Linux) (2023-03-06 00:04:49)
- DNSの設定方法 NEW! (2023-03-05 21:14:25)
最近コメントのあったページ
- トップページ (2023-03-07 19:47:20)
- 【Spring】@Autowiredアノテーションとは (2019-06-12 10:21:55)
- 【Spring】@Autowiredアノテーションとは (2019-06-12 10:21:06)
- reCAPTCHA v3 使い方(サンプル付き) (2019-02-08 02:23:22)
最近の質問
- 質問です (2020-02-20 12:19:36)
- フリーランスの単価って高いですか? (2020-02-12 19:56:16)
- 情報系のaoを受けるつもりなんですが何かおすすめのソフトはありますか? (2020-02-12 19:54:22)
- test3 (2020-02-08 23:50:54)
- セレクトボックスのCSSのcontentで三角の部分が押せない (2019-07-03 13:06:10)
- GCPのwp-config.phpでpermission denied (2019-06-05 20:04:08)
- Spring FrameworkのEntityのカラム名の大文字小文字、アンスコについて (2019-02-01 07:13:49)
- PHP(Laravel)からPythonのプログラムを呼び出したいのですがどうすればよいでしょうか。 (2018-12-06 06:26:57)
- djangoを本番環境にデプロイしたいのですがどのレンタルサーバー or VPSサーバーがよいですか (2018-12-01 12:04:18)
- Django administrationのUsernameとPasswordについて (2018-11-30 11:55:20)
- Google Adsenseでアダルトコンテンツと誤認されてしまいました。 (2018-09-09 17:15:36)
- Google MapsをUnityで使用する方法&料金 (2018-08-28 02:37:26)
- Amazon PA-APIのSort=salesrankが効かない (2018-07-21 08:54:25)
- 楽観ロックと悲観ロックの違い (2018-01-11 05:05:33)
- レンタルサーバーって沢山ありますけどどこがいいでしょうか?AWSってどうなんですか? (2018-01-09 10:03:20)
- ディープラーニングのライブラリってどれがオススメですか? (2018-01-06 05:15:40)
- Webスクレイピングってどこまでが違法なんでしょうか? (2018-01-06 05:09:08)
- 人工知能(AI)、機械学習、ディープラーニングの違い (2018-01-06 02:40:44)
コメントを削除してもよろしいでしょうか?
コメントがありません