© 2010 Autodesk
Introduction to Revit 2011 API
外部コマンドの作成
Execute() メソッド
§
<VB.NET>
''  Hello World #1 - A minimum Revit external command.
<Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)> _
<Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)> _
Public Class HelloWorld
    Implements IExternalCommand
 
    Public Function Execute( _
            ByVal commandData As Autodesk.Revit.UI.ExternalCommandData, _
            ByRef message As String, _
            ByVal elements As Autodesk.Revit.DB.ElementSet) _
            As Autodesk.Revit.UI.Result _
            Implements Autodesk.Revit.UI.IExternalCommand.Execute
 
        Autodesk.Revit.UI.TaskDialog.Show(“ご挨拶 ”, “こんにちは !")
        Return Result.Succeeded
 
    End Function
 
End Class
</VB.NET>
2. Execute() メソッドを実装
戻り値:
•Succeeded
•Failed
•Cancelled
引数:
1st オブジェクトモデルにアクセス
2nd ユーザにコマンド異常終了のエラーメッセージ
3rd コマンド異常終了にハイライト表示する要素
1.
そして、Executeメソッドをオーバライドして実装します。Executeメソッドは外部コマンドが実行されると呼ばれます。

Executeメソッドは3つの引数を持ちます。1つ目がExternalCommandDataで、2つ目が文字列、最後がRevit 要素のコレクションです。

1つ目の引数、コマンドデータオブジェクトが、Revitのオブジェクトモデルにアクセスするための入口です。このコマンドデータオブジェクトからRevit のアプリケーションオブジェクトやドキュメントオブジェクト、そして、それらに含まれる壁や扉などといったモデルの要素にアクセスできます。

2つ目と3つ目の引数は、外部コマンドのエラー終了時に、エラーメッセージと要素をハイライト表示する為にRevitに渡します。

例えば、外部コマンドが壁を処理するはずが、ユーザが窓が選択した場合は、「壁が選択されませんでした」などというエラーメッセージと窓をRevit に渡して、Failedを戻り値で返します。これにより、ユーザはメッセージとハイライトされた窓を見て何が問題かを認識できます。