11.

【Revit API】「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

前提

C#(他言語の場合は適宜読み替えてください。)

 

実装

ボタン設置と処理分岐の実装は以下の通り。

using System;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using System.Collections.Generic;

namespace TestTool
{
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
    public class TestTool : IExternalCommand
    {
        public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
            ref string message, ElementSet elements)
        {
            TaskDialog taskDialog = new TaskDialog("Revit");

            taskDialog.MainContent =
                ("Click Yes to return Succeeded. \t\n" +
                "Click No to return Failed. \t\n" +
                "Click Cancel to return Cancelled.  \t\n");

            TaskDialogCommonButtons buttons = TaskDialogCommonButtons.Yes |
                TaskDialogCommonButtons.No | TaskDialogCommonButtons.Cancel;

            taskDialog.CommonButtons = buttons;

            TaskDialogResult taskDialogResult = taskDialog.Show();

            if (taskDialogResult == TaskDialogResult.Yes)
            {
                return Autodesk.Revit.UI.Result.Succeeded;
            }
           
else if (taskDialogResult == TaskDialogResult.No)
            {
                message = "Failed";
                return Autodesk.Revit.UI.Result.Failed;
            }
           
else if (taskDialogResult == TaskDialogResult.Cancel)
            {
                message = "Cancelled";
                return Autodesk.Revit.UI.Result.Cancelled;
            }
            else
            {
                message = "Unexpected";
                return Autodesk.Revit.UI.Result.Failed;
            }
        }
    }
}

 

 

ツールを起動すると以下のダイアログが表示されるのでいずれかのボタンを押す。

子ページ
子ページはありません
同階層のページ
  1. RevitAPI.dll と RevitAPIUI.dll の参照
  2. マニフェストファイルの書き方
  3. アドインの追加/設置方法
  4. アドインの作成サンプル(外部ツール編)
  5. アドインの作成サンプル(外部アプリケーション編)
  6. 要素の取得と情報の表示
  7. 要素のカテゴリとマテリアルの取得と表示
  8. よく使うBuiltInCategoryの一覧
  9. 外部ツールでAutodesk.Revit.Documentを取得する方法
  10. エラーメッセージの設定方法
  11. 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
  12. 要素(カテゴリ、ファミリ、タイプ)とは
  13. ElementId とUniqueId の違い
  14. 要素フィルターの使い方
  15. 要素のパラメータ一覧の取得
  16. pyRevitの導入と簡単なアプリケーションの作成
  17. Revit SDKのサンプルの場所とビルド方法
  18. FamilySymbol(タイプ)の取得とパラメータの変更
  19. 相対パスでdllにアイコン画像を埋め込む方法

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。