初心者ということもあり、無償版の Microsoft Visual Studio 2008 Express Edition を使用していたのですが、AutoCAD 2010 のカスタマイズで使えるけどサポートされないということと、デバッグのやり方が分からなかったので、思い切って Microsoft Visual Studio 2008 Standard Edition を購入しました。
そこで早速、他のサンプルを試してみようと思います。
acad_mdg.chm を適当に探して、以下のサンプルをやってみることにしました。
------------------------------------------
この例では、Add メソッドを使用して、acad.dwt 図面テンプレート ファイルに基づいて新しい図面を作成します。
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
<CommandMethod("NewDrawing", CommandFlags.Session)> _
Public Sub NewDrawing()
'' Specify the template to use, if the template is not found
'' the default settings are used.
Dim strTemplatePath As String = "acad.dwt"
Dim acDocMgr As DocumentCollection = Application.DocumentManager
Dim acDoc As Document = acDocMgr.Add(strTemplatePath)
acDocMgr.MdiActiveDocument = acDoc
End Sub
------------------------------------------
- まずは、Visual Studio 2008 を起動します。
- [ファイル] - [新しいプロジェクト] を選択して、[新しいプロジェクト] ダイアログで [クラス ライブラリ] を選択して [OK] ボタンをクリックです。(プロジェクト名は、NewDrawing にしました。)
- 例のごとく、サンプル プログラムを Class1.vb にカット&ペーストして以下のようにします。
Imports Autodesk.AutoCAD.ApplicationServicesImports
Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
Public Class Class1
<CommandMethod("NewDrawing", CommandFlags.Session)> _
Public Sub NewDrawing()
'' Specify the template to use, if the template is not found
'' the default settings are used.
Dim strTemplatePath As String = "acad.dwt"
Dim acDocMgr As DocumentCollection = Application.DocumentManager
Dim acDoc As Document = acDocMgr.Add(strTemplatePath)
acDocMgr.MdiActiveDocument = acDoc
End Sub
End Class
- 最初は [ソリューション エクスプローラ] に「参照設定」が表示されていないので、[すべてのファイルを表示] ボタンをクリックして表示します。
- そうすると、以下のように「参照設定」が表示されました。
- [参照設定] を右クリックして、[参照の追加] をクリックです。 例のごとく、[参照の追加] ダイアログで [参照] タブを選択して、C:\Program Files\AutoCAD 2010 フォルダにある AcDbMgd.dll を選択して [OK] です。
- 同じように、AcMgd.dll も追加します。(このサンプルでは、AcCui.dll は追加する必要はないようです。)
- [ファイル] - [すべてを保存] を選択して NewDrawing というソリューション名で保存しました。
- まずは、デバッグ時に AutoCAD を起動するための設定です。
[ソリューション エクスプローラ] で NewDrawing を右クリックして [プロパティ] を選択します。 - デバッグを選択して、[外部プログラムの開始] に C:\Program Files\AutoCAD 2010\acad.exe を設定します。(設定したあと、[選択されたファイルを上書き保存] ボタンをクリックしておきました。)
- ここで、いよいよ [デバッグ開始] ボタンをクリックです。
- AutoCAD 2010 が起動してきましたが、「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。...」というエラーが表示されました。
そのため、一旦デバッグ中止です。 - どうやら、デバッグするためには参照設定した acdbmgr と acmgd の参照プロパティーで [ローカル コピー] を True から False に変更しなきゃいけないみたいです。
なので、そのとおり変更しました。 - ここで、再度 [デバッグ開始] ボタンをクリックです。
AutoCAD 2010 が起動してきて、今度はエラーなしです。 - NETLOAD コマンドを実行して、Debug フォルダにある NewDrawing.dll をロードします。
試しにブレーク ポイントを「Dim strTemplatePath As String = "acad.dwt"」の行に設定して NewDrawing コマンドを実行したところ、ちゃんとその行で止まりました。
動画も作りました。
0 件のコメント:
コメントを投稿