対象製品: IJCAD 2015~2019 (STDグレード以上)
IJCAD2020以降はこちら
IJCAD の.Net アセンブリは、C#やVB.Netのクラスライブラリとして作成します。
- Visual Studio 2010 を起動します。
- ファイルメニュー ► 開く ► プロジェクト/ソリューション を選択し、HELLOAPPソリューションを選択します。
- ソリューションエクスプローラーで、ソリューション名を右クリックして追加 ► 新しいプロジェクトを選択します。
- [新しいプロジェクト]ダイアログで、.Net Framework 4 が選択されていることを確認し、Visual Basic のクラスライブラリを選択します。
- プロジェクト名とプロジェクトファイルを保存する場所を指定します。
- OKボタンを押すと、プロジェクトのひな形を作成します。
参照の追加
IJCAD が提供しているAPIを使用するには、参照を追加する必要があります。
次の手順で、参照を追加できます。
- ソリューションエクスプローラで、プロジェクト名を右クリックして「プロパティ」を選びます。
- 参照ページを表示して、追加ボタンをクリックします。
- C#プロジェクトのように参照ページから gmap.dll と gmdb.dll を選択することも可能です。
- 「最近使用したファイル」ページから gmap.dll と gmdb.dll を選択することも可能です。
- 参照ページに、gmapとgmdbが追加されます。ローカルコピーは True になっているので、それぞれの行をクリックしてプロパティを表示ます。
- ローカルコピーを False にして、gmap.dllやgmdb.dllをローカルフォルダにコピーしないようにします。
ソースコードの追加
- class1.vb に下記のコードを追加します。
Imports GrxCAD.ApplicationServices Imports GrxCAD.DatabaseServices Imports GrxCAD.EditorInput Imports GrxCAD.Runtime Namespace HelloVBApp Public Class Class1 <CommandMethod("HELLOVB")> Public Sub helloVbCmd() Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor ed.WriteMessage("Hello VB.Net World" + vbCrLf) End Sub End Class End Namespace
- Imports GrxCAD.ApplicationServices は、Application オブジェクトにアクセスするのに必要です。
- Imports GrxCAD.DatabaseServices は上の例では使用していませんが、図面を操作するときに必要な宣言です。
- Imports GrxCAD.EditorInput は Editor クラスにアクセスするのに必要です。
- Imports GrxCAD.Runtime は CommandMethod 属性を使用するのに必要です。
- [CommandMethod(コマンド名)] の宣言によって、次の helloVbCmd() 関数がHELLOVBコマンドの定義になります。
- コマンドは Public で、引数なしの手続きとして定義します。
- IJCADから Editor クラスの変数 ed を取得し、WriteMessage() 関数により、コマンドプロンプトにメッセージを表示します。
ビルドと実行
標準ツールバーでプラットフォームが「Any CPU」で構成が「Release」になっていることを確認し、「ビルド」メニューから「ソリューションのビルド」を実行します。問題がなければアセンブリ ファイルが作成されます。
IJCAD を起動し、コマンドプロンプトに NETLOAD と入力します。ファイル選択ダイアログから、作成したファイルをロードします。
コマンドプロンプトに HELLOVB と入力します。メッセージを表示して終了します。
デバッグのしかた
標準ツールバーでプラットフォームが「Any CPU」で構成が「Debug」になっていることを確認し、「ビルド」メニューから「ソリューションのビルド」を実行します。問題がなければアセンブリ ファイルが作成されます。
プロジェクトのプロパティを開き、デバッグページを表示します。プラットフォームが「Any CPU」で構成が「Debug」になっていることを確認します。開始動作から「外部プログラムの開始」を選択し、IJCAD の実行ファイル(C:\Program Files\ITJP\IJCAD 201X Pro\Gcad.exe)を指定します。
ソースコードの適当な個所にブレークポイントを設定します。
IJCAD を起動し、コマンドプロンプトに NETLOAD と入力します。ファイル選択ダイアログから、作成したファイルをロードします。
コマンドプロンプトに HELLOVB と入力します。プログラムはブレークポイントの位置で停止します。続行するとメッセージを表示して終了します。
.Net for AutoCAD との比較
ここで、.Net for AutoCAD のプログラムと比較してみましょう。
Autodesk.AutoCAD から始まる .Net for AutoCAD の参照設定を、GrxCAD に変更すれば、.Net for AutoCAD 用に開発されたアプリケーションが、IJCAD 用に動作するようにデザインされています。
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Public Class Class1
<CommandMethod("HELLOVB")>
Public Sub HelloWorld()
Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
ed.WriteMessage("Hello VB.Net World" + vbCrLf)
End Sub
End Class