マクロコマンドのサンプルアドイン
RootPro CAD にマクロコマンドを追加するサンプルアドインです。
マクロコマンドは、RootPro CAD の [アドイン] メニューに新しいメニューを追加して、そのメニューをクリックしたときに実行されるコマンドです。
- Visual Studio を起動して、新しいアドインプロジェクトを作成する
くわしい手順は、アドインを作成するを参照してください。 - AppAddIn.cs ファイル (VB の場合は AppAddIn.vb) を開いて、AppAddIn_Startup、AppAddIn_Shutdown 関数内に以下のコードを追加する
- AddMacroCommand の 1 番目のパラメーター "RootProCADAddInCircleCS" は、マクロコマンドにショートカットキーを割り当てたり、ツールバーボタンに追加したりするときに使用される識別子です。 他のマクロコマンドと重複しない一意の文字列を指定します。
- AddMacroCommand の 2 番目のパラメーター "円の作成" は、[アドイン] メニューに表示されるメニュー名です。
- AddMacroCommand の 3 番目のパラメーター MacroCommand は、マクロコマンドのメニューをクリックしたときに実行される関数名です。
【Visual Basic の場合】private void AppAddIn_Startup(object sender, EventArgs e) { // 以下の行を追加します // マクロコマンドの追加 CommandManager.AddMacroCommand("RootProCADAddInCircleCS", "円の作成", MacroCommand); } private void AppAddIn_Shutdown(object sender, EventArgs e) { // 以下の行を追加します // マクロコマンドの削除 CommandManager.RemoveMacroCommand(MacroCommand); }
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
- AppAddIn.cs ファイル (VB の場合は AppAddIn.vb) の一番下に、以下のコードを記述する
マクロコマンドの実行処理である MacroCommand 関数を追加します。
アクティブな図面のカレント部分図に、中心点 (100, 100)、半径 100 の円を追加しています。
BeginUndoUnit、EndUndoUnit で囲まれた部分が 1 回分の UNDO 可能な処理になります。
【C# の場合】
【Visual Basic の場合】// 円作成マクロコマンド 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(); }
' 円作成のマクロコマンド 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
- ビルドを実行して、アドインが正常に動作するかを確認する
くわしい手順は、アドインを作成するを参照してください。
補足 | |
・ | アドインは、RootPro CAD Professional の機能です。RootPro CAD Free では使用できません。 |