VB.NET 情報

トップページへ

更新 2011年9月1日


 
 

Express エディションでプログラム作成   2011年9月1日
 

Visual Basic には無償でダウンロードできる Express エディションがあります。 Express エディションでも AutoCAD のアプリケーション プログラムを作成することができます。

簡単なプログラムを作成する過程をとおして、Visual Basic 2010 Express の設定を説明します。
AutoCAD が対象となります。AutoCAD LT は対象とはなりません。
ここで説明する内容は、AutoCAD 2012 と Visual Basic 2010 Express の組み合わせです。

1. Visual Basic 2010 Express を実行します。Visual Basic 2010 Express を実行すると図のような画面になります。







2. メニューの「ファイル」「新しいプロジェクト」をクリックします。




このページの先頭へ戻る


3. 「新しいプロジェクト」ダイアログボックスにて「クラス ライブラリ」を選択し、「名前」の欄に「Hello_World」と入力します。最後に「OK」ボタンをクリックします。







4. 「Class1.vb」の画面があらわれます。




このページの先頭へ戻る


5. メニューの「プロジェクト」「Hello_Worldのプロパティ」をクリックします。







6. Hello_Worldのプロパティに関するウィンドウが開きます。




このページの先頭へ戻る


7. 「参照」タブにて「追加」ボタンをクリックします。







8. 「参照の追加」ダイアログボックスにて「参照」タブをクリックします。




このページの先頭へ戻る


9. 「参照」タブにてAutoCAD 2012 の実行プログラム acad.exe が存在するフォルダに移動します。acad.exe が存在するフォルダは、Windows 7 64bit の場合、通常 C:\Program Files\Autodesk\AutoCAD 2012 - Japanese です。
acad.exe が存在するフォルダにて、最初に acdbmgd.dll を選択します。







10. acdbmgd.dll を選択したのち、acmgd.dll を選択します。2番目のacmgd.dll を選択する際、「Ctrl」キーを押しながらクリックしてください。「Ctrl」キーを押さずにクリックすると、最初に選択した acdbmgd.dll の選択が解除されてしまいますので注意してください。




このページの先頭へ戻る


11. acdbmgd.dll と acmgd.dll の二つの dll が選択されていることを確認し、最後に「OK」ボタンをクリックします。







12. Hello_Worldのプロパティに関するウィンドウに戻ります。このウィンドウでacdbmgd.dll と acmgd.dll の二つの dll の「ローカルにコピーする」が「True」になっていることがわかります。これを「False」に変更します。
「False」に変更するため、acdbmgd.dll と acmgd.dll の二つの dll が選択されている状態で、右下の「プロパティ」ウィンドウの「ローカル コピー」の項目の下向き矢印をクリックします。あらわれた項目から「False」を選択します。




このページの先頭へ戻る


13. 「False」を選択すると、acdbmgd.dll と acmgd.dll の二つの dll の「ローカルにコピーする」が「False」になります。
最後にHello_Worldのプロパティに関するウィンドウを閉じます。







14. Class1.vb に戻ります。
図のように、次の「Imports」ステートメントを入力します。「Imports」ステートメントを入力した際、文字の下に波線があらわれる場合、acdbmgd.dll と acmgd.dll の二つの dll の参照が正常におこなわれていません。参照を再度確認してください。
最後にHello_Worldのプロパティに関するウィンドウを閉じます。

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.ApplicationServices





このページの先頭へ戻る


15. 次に、図のように「<CommandMethod("")>」と「Public Sub ()」〜「End Sub」を入力します。「<CommandMethod("")>」はダブル クォーテーションで囲まれた文字列が、AutoCADのコマンドに対応する文字列となります。この例では「HLWL」です。AutoCADでキーボードから「HLWL(Enter)」と入力すると、この部分が実行されます。そして、「<CommandMethod("")>」の行末に「_(アンダースコア)」がありますので、次の行と連結していることがわかります。連結しているので、「<CommandMethod("")>」の実際のプログラムは「Public Sub ()」〜「End Sub」の内容となります。この例ではプログラム「Sub」の名称は「MyHelloWorld」です。

<CommandMethod("HLWL")> _
Public Sub MyHelloWorld()

End Sub








16. プログラムは「Public Sub MyHelloWorld()」〜「End Sub」の内容です。この例では2行だけです。変数「ed」に内容を設定し、そのメソッド「WriteMessage」を使い、AutoCADのテキスト エディタに文字列「Hello World!」を表示します。

Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
ed.WriteMessage(vbCrLf + "Hello World!")





このページの先頭へ戻る


17. プログラムが作成できたら、ビルドをおこないます。ビルドとは、プログラムから実行可能なファイルを作成することです。この例では、拡張子「dll」のファイルを作成します。ビルドを実行するために「デバッグ」「Hello_Worldのビルド」をクリックします。








18. ビルドが正常に終了すると左下に「ビルド正常終了」と表示されます。





このページの先頭へ戻る


19. ビルドの際、エラーとなった場合、「出力」ウィンドウでエラーを確認します。「出力」ウィンドウを表示させるにはメニューの「デバッグ」「ウィンドウ」「出力」をクリックします。








20. デバッグは、この状況ではできません。メニューの「デバッグ」「デバッグ開始」をクリックします。





このページの先頭へ戻る


21. 「デバッグ開始」をクリックすると、図のようなエラーとなります。








22. デバッグをおこなうためには、ファイル「Hello_World.vbproj.user」の設定を変更する必要があります。ファイル「Hello_World.vbproj.user」の設定を変更するために、一度プロジェクトを閉じる必要があります。メニュー「ファイル」「プロジェクトを閉じる」をクリックします。





このページの先頭へ戻る


23. 「プロジェクトを閉じる」をクリックすると「プロジェクトを閉じる」ダイアログボックスがあらわれます。「プロジェクトを閉じる」ダイアログボックスで「上書き保存」ボタンをクリックします。一度も保存していないのに「上書き保存」というのも変な感じを受けますが、「上書き保存」ボタンをクリックします。








24. 「名前」の欄にプロジェクトの名前を入力します。この例では「Hello_World」と入力します。「場所」の欄に保存するフォルダが表示されます。変更したければ「参照」ボタンをクリックし、変更したいフォルダを選択します。「ソリューションのディレクトリを作成」のチェックをはずします。チェックをしていても問題ありませんが、この例ではチェックをはずします。最後に「上書き保存」ボタンをクリックします。





このページの先頭へ戻る


25. 以上の操作で Visual Basic 2010 Express が終了しました。

次に、「メモ帳」を実行します。もし、「メモ帳」以外のテキスト エディタを使いたいなら、そのエディタを実行します。ここでは「メモ帳」を使い説明します。
「メモ帳」のメニューから「ファイル」「開く」をクリックします。「開く」ダイアログボックスがあらわれます。「開く」ダイアログボックスで、最初に右下のファイルの種類を「すべてのファイル(*.*)」とします。そして、Visual Basic 2010 Express で Hello_World を保存したフォルダへ移動します。移動したのちファイル「Hello_World.vbproj.user」を選択し、最後に「開く」ボタンをクリックします。








26. ファイル「Hello_World.vbproj.user」を開くと図のようになります。





このページの先頭へ戻る


27. ファイル「Hello_World.vbproj.user」の「<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">」と「</Project>」の間に次の4行を挿入します。

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<StartAction>Program</StartAction>
<StartProgram>C:\Program Files\Autodesk\AutoCAD 2012 - Japanese\acad.exe</StartProgram>
</PropertyGroup>



「<StartProgram>」と「</StartProgram>」の間には、 acad.exe が存在するフォルダを記述します。ドライブを含めたフル・パスでなくてはいけません。この例では「C:\Program Files\Autodesk\AutoCAD 2012 - Japanese\acad.exe」ですが、別の環境では、別の記述になります。それぞれの環境に応じた内容を記述しなければいけません。






28. 変更が完了したら、「保存する」ボタンをクリックし「メモ帳」を終了します。





このページの先頭へ戻る


29. ファイル「Hello_World.vbproj.user」の変更が完了したら、再度、Visual Basic 2010 Express を起動し保存したプロジェクト「Hello_World」を開きます。
「Hello_World」を開いたら、メニューの「デバッグ」「デバッグ開始」をクリックします。








30. ファイル「Hello_World.vbproj.user」を変更する以前ではエラーとなりましたが、変更したのちは、エラーとならず AutoCAD 2012 が起動します。





このページの先頭へ戻る


31. AutoCAD で dll ファイルをロードするには「NETLOAD」コマンドを実行します。「NETLOAD」コマンドを実行すると「.NETアセンブリを選択」ダイアログボックスがあらわれます。「.NETアセンブリを選択」ダイアログボックスにて、プロジェクト「Hello_World」を保存したフォルダの「\bin\Debug」に存在する「Hello_World.dll」を選択し、「開く」ボタンをクリックします。








32. プロジェクト「Hello_World」の「CommandMethod」で定義した「HLWL」を実行します。「HLWL」を実行すると、テキスト ウィンドウに「Hello World!」と表示されます。





このページの先頭へ戻る


33. デバッグの「ブレークポイントの設定/解除」を実行すれば、ブレークポイントが設定できます。








34. ブレークポイントを設定すれば、プログラムを一時的に停止して、変数等を確認することができます。





このページの先頭へ戻る


35. なお、Visual Basic 2010 Express では、デバッグを有効にするためにファイル「Hello_World.vbproj.user」を「メモ帳」を使い変更する必要がありました。しかし、有償版の Visual Basic 2010 では、図のように設定画面があり、ファイル「Hello_World.vbproj.user」を変更する必要はありません。





このページの先頭へ戻る


このホームページの情報に基づいておこなった結果について、落合重紀は一切責任を負いません。
 
 
 

 
トップページへ