Revitアドイン-クリック位置の座標

Revitのアドインコマンドでユーザーのクリック位置の座標を取得する方法について

はじめに

本記事では、Autodesk Revitのアドインコマンドを使用して、ユーザーがクリックした場所の座標を取得する方法について解説します。この機能を利用することで、ユーザーが指定した位置に対して特定の処理を行うアプリケーションを開発することが可能です。

ユーザーのクリック位置の座標を取得する方法

Revitのアドインコマンドでユーザーのクリック位置の座標を取得するには、以下の手順を実行します。

  1. UIコントロールの取得: ExternalCommandDataオブジェクトからUIControlledApplicationを取得します。

  2. クリックイベントのハンドリング: UIApplicationオブジェクトのPromptForPointメソッドを使用して、ユーザーのクリック位置を取得します。このメソッドは、ユーザーにポイントを指定するように促すダイアログボックスを表示します。ダイアログが閉じられると、選択されたポイントが返されます。

  3. 座標の取得: 返されたポイントから、X、Y、Zの座標値を取得します。

以下は、上記手順を実装したサンプルコードです。

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

namespace RevitAddin
{
    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            // UIApplicationオブジェクトの取得
            UIApplication uiApp = commandData.Application;
            UIDocument uiDoc = uiApp.ActiveUIDocument;

            // ユーザーのクリック位置の取得
            XYZ clickPoint = uiDoc.Selection.PickPoint("Please click a point.");

            // 取得した座標の表示
            TaskDialog.Show("Click Point", $"X: {clickPoint.X}, Y: {clickPoint.Y}, Z: {clickPoint.Z}");

            return Result.Succeeded;
        }
    }
}

まとめ

この記事では、Revitのアドインコマンドを使用して、ユーザーのクリック位置の座標を取得する方法について解説しました。これにより、ユーザーが指定した位置に対して特定の処理を行うアプリケーションを開発することが可能です。

この記事が気に入ったらサポートをしてみませんか?