対象製品: IJCAD 2020 以降 (STDグレード以上)
IJCAD 2019 以前はこちら
IJCAD の.Net アセンブリは、C#やVB.Netのクラスライブラリとして作成します。
1. マイクロソフトのホームページから、Visual Studio 2017 Community Edition をダウンロードします。
2. ハードディスクの容量が十分ある場合は、すべてインストールすることを推奨します。
3. Visual Studio 2017 を起動します。
4. ファイルメニュー ► 開く ► プロジェクト/ソリューション を選択し、ソリューションを選択します。
5. ソリューションエクスプローラーで、ソリューション名を右クリックして追加 ► 新しいプロジェクトを選択します。
6. [新しいプロジェクト]ダイアログで、.Net Framework 4.8 が選択されていることを確認し、Visual Basic のクラスライブラリを選択します。
7. プロジェクト名とプロジェクトファイルを保存する場所を指定します。
8. OKボタンを押すと、プロジェクトのひな形(ビルド可能な最低限のコード)を作成します。
参照の追加
IJCAD が提供しているAPIを使用するには、参照を追加する必要があります。
次の手順で、参照を追加できます。
1. ソリューションエクスプローラで、プロジェクト名を右クリックして「プロパティ」を選びます。
2. 参照ページを表示して、追加ボタンをクリックします。
※ C#プロジェクトのように参照ページから gmap.dll と gmdb.dll を選択することも可能です。
※ 「最近使用したファイル」ページから gmap.dll と gmdb.dll を選択することも可能です。
3.参照ページに、gmapとgmdbが追加されます。ローカルコピーは True になっているので、それぞれの行をクリックしてプロパティを表示します。
4. ローカルにコピーを 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 oEd As Editor = Application.DocumentManager.
MdiActiveDocument.Editor
oEd.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クラスの変数oEdを取得し、Editor.WriteMessage()関数により、コマンドプロンプトにメッセージを表示します。
ビルドと実行
標準ツールバーでプラットフォームが「Any CPU」で構成が「Release」になっていることを確認し、
「ビルド」メニューから「ソリューションのビルド」を実行します。問題がなければアセンブリ ファイルが作成されます。
"1. IJCAD を起動し、コマンドプロンプトに NETLOAD と入力します。[ファイル選択]ダイアログから、
vbHello ► bin ► Release ► vbHello.dll を選択し、作成したファイルをロードします。"
2. コマンドプロンプトに HELLOVB と入力します。メッセージを表示して終了します。
デバッグの仕方
標準ツールバーで構成が「Debug」でプラットフォームが「Any CPU」になっていることを確認し、
「ビルド」メニューから「ソリューションのビルド」を実行します。問題がなければアセンブリ ファイルが作成されます。
1. プロジェクトのプロパティを開き、デバッグページを表示します。プラットフォームが「Any CPU」で構成が「Debug」になっていることを確認します。
開始動作から「外部プログラムの開始」を選択し、IJCAD の実行ファイル(C:\Program Files\ITJP\IJCAD 20XX Pro\gcad.exe)を指定します。
2. ソースコードの適当な個所にブレークポイントを設定します。
3. 標準ツールバーのデバッグからデバッグの開始を選択します。
4. IJCAD を起動し、コマンドプロンプトに NETLOAD と入力します。ファイル選択ダイアログから、作成したファイルをロードします。
5. コマンドプロンプトに HELLOVB と入力します。プログラムはブレークポイントの位置で停止します。F11キーを押下し、続行するとメッセージを表示して終了します。
.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 oEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
oEd.WriteMessage("Hello VB.Net World" + vbCrLf)
End Sub
End Class