マクロコマンドのサンプルアドイン


RootPro CAD にマクロコマンドを追加するサンプルアドインです。
マクロコマンドは、RootPro CAD の [アドイン] メニューに新しいメニューを追加して、そのメニューをクリックしたときに実行されるコマンドです。

  1. Visual Studio を起動して、新しいアドインプロジェクトを作成する
    くわしい手順は、アドインを作成するを参照してください。
  2. AppAddIn.cs ファイル (VB の場合は AppAddIn.vb) を開いて、AppAddIn_Startup、AppAddIn_Shutdown 関数内に以下のコードを追加する
    • AddMacroCommand の 1 番目のパラメーター "RootProCADAddInCircleCS" は、マクロコマンドにショートカットキーを割り当てたり、ツールバーボタンに追加したりするときに使用される識別子です。 他のマクロコマンドと重複しない一意の文字列を指定します。
    • AddMacroCommand の 2 番目のパラメーター "円の作成" は、[アドイン] メニューに表示されるメニュー名です。
    • AddMacroCommand の 3 番目のパラメーター MacroCommand は、マクロコマンドのメニューをクリックしたときに実行される関数名です。
    【C# の場合】
    private void AppAddIn_Startup(object sender, EventArgs e)
    {
        // 以下の行を追加します
        // マクロコマンドの追加
        CommandManager.AddMacroCommand("RootProCADAddInCircleCS", "円の作成", MacroCommand);
    }
    
    private void AppAddIn_Shutdown(object sender, EventArgs e)
    {
        // 以下の行を追加します
        // マクロコマンドの削除
        CommandManager.RemoveMacroCommand(MacroCommand);
    }
    
    【Visual Basic の場合】
    Private Sub AppAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        ' 以下の行を追加します
        ' マクロコマンドの追加
        CommandManager.AddMacroCommand("RootProCADAddInCircleCS", "円の作成", MacroCommand)
    End Sub
    
    Private Sub AppAddIn_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown
        ' 以下の行を追加します
        ' マクロコマンドの削除
        CommandManager.RemoveMacroCommand(MacroCommand)
    End Sub
    
  3. AppAddIn.cs ファイル (VB の場合は AppAddIn.vb) の一番下に、以下のコードを記述する
    マクロコマンドの実行処理である MacroCommand 関数を追加します。
    アクティブな図面のカレント部分図に、中心点 (100, 100)、半径 100 の円を追加しています。
    BeginUndoUnit、EndUndoUnit で囲まれた部分が 1 回分の UNDO 可能な処理になります。
    【C# の場合】
    // 円作成マクロコマンド
    private void MacroCommand()
    {
        // アクティブな図面を取得
        Document doc = ActiveDocument;
    
        // カレント部分図を取得
        Drawing drawing = doc.CurrentDrawing;
    
        // UNDO 可能な操作を開始
        doc.UndoManager.BeginUndoUnit();
    
        // 円を部分図に追加
        Point2d pointCenter = Geometry.CreatePoint(100, 100);   // 円の中心点
        double radius = 100.0;      // 半径
        drawing.Shapes.AddCircle(pointCenter, radius);
    
        // UNDO 可能な操作を終了
        doc.UndoManager.EndUndoUnit();
    }
    
    【Visual Basic の場合】
    ' 円作成のマクロコマンド 
    Private Sub MacroCommand()
            
        ' アクティブな図面を取得
        Dim doc As Document = ActiveDocument
    
        ' カレント部分図を取得
        Dim drawing As Drawing = doc.CurrentDrawing
    
        ' UNDO 可能な操作を開始
        doc.UndoManager.BeginUndoUnit()
    
        ' 円を部分図に追加
        Dim pointCenter As Point2d = Geometry.CreatePoint(100, 100)     ' 中心点
        Dim radius As Double = 100.0    ' 半径
        drawing.Shapes.AddCircle(pointCenter, radius)
    
        ' UNDO 可能な操作を終了
        doc.UndoManager.EndUndoUnit()
    
    End Sub
    
  4. ビルドを実行して、アドインが正常に動作するかを確認する
    くわしい手順は、アドインを作成するを参照してください。
補足
アドインは、RootPro CAD Professional の機能です。RootPro CAD Free では使用できません。

関連トピック