Visual Basic 2008 Express がコンピュータにインストールされていない場合は、Microsoft® の Web サイトからダウンロードしてインストールします。このダウンロード プログラムは無料です。
Visual Basic 2008 Express を開いて、クラス ライブラリ タイプのプロジェクトを作成します。
プロジェクトの名前を ClassLibrary1 (既定の名前)にして、[OK]をクリックします。入力した正確な名前をメモに書き留めておきます。この名前は、以降の手順で使用するため重要です。
新しいウィンドウが開き、右上にソリューション エクスプローラが表示されます。
ソリューション エクスプローラで、プロジェクト名を右クリックして、[追加]を選択し、サブメニューから[新しい項目]を選択します。[新規アイテムを追加]ダイアログ ボックスが表示されます。
[ダイアログ]テンプレートを選択して[追加]をクリックします。
Windows フォーム デザイナに、ダイアログ ボックスのグラフィックス ビューが表示されます。このインタフェースを使用して、ダイアログ ボックスにコントロールを追加できます。
画面の左側のツールボックスに、ダイアログ ボックスへ追加可能なコントロールが一覧表示されます。このプロジェクトの場合は、Inventor の値を表示するテキストボックスを追加して、パラメータを編集できるようにします。
[ツールボックス]パネルの[コモン コントロール]グループで[TextBox]をクリックして、ダイアログ ボックスの灰色の領域までドラッグし、配置します。必要に応じてダイアログ ボックスのサイズを変更できます。
テキスト ボックスに Label を追加して、パラメータ名を表示します。
背景のダイアログ ボックスをダブルクリックして(ラベルやテキスト ボックスをクリックしないように注意します)、コード エディタを表示します。次のコードが表示されます。
カーソルをすぐ下の行に移動します。
Public Class Dialog1
次の行を追加します。
Public d0 As Double
サブルーチン OK_Button_Click
の最上部の Me.DialogResult...
ステートメントの前にカーソルを移動し、[Enter]を押して、新しい行を追加します。
新しい行に次のテキストを追加します。
d0 = TextBox1.Text
コードは次のようになります。
[ファイル] [保存]または[ファイル]
[すべて保存]を使用して作業内容を保存します。
これで、プロジェクトを作成する準備はほぼ完了です。ビルドを実行すると、Visual Basic によって DLL ファイルが作成されます。Visual Basic によってこのファイルが作成される場所は、ビルドの出力パスを修正することで指定できます。
プロジェクトのタイトルが表示されたタブをクリックして、さらに[コンパイル]タブをクリックします。出力パスを次のように指定します。
Program Files¥Autodesk¥Inventor {バージョン}¥Bin¥iLogicAdd¥
プロジェクトをビルドするには、上部のメニューでビルドをクリックします。ビルドが問題なく終了したら、画面の左下のステータス バーに [ビルド正常終了] のメッセージが表示されます。
作業内容を[すべてを保存]で再度保存し、Inventor を開きます。
[ルールを追加]を使用して、次の内容の Form Rule
という名前のルールを作成します。
AddReference "ClassLibrary1"
Sub Main()
dim dlg as new ClassLibrary1.Dialog1
dlg.d0 = d0
i = dlg.ShowDialog()
if (i = vbOK)then
d0 = dlg.d0
end if
End Sub
このルールは、Inventor パラメータ d0
の現在の値をダイアログ ボックスに送信し、ダイアログ ボックスを表示します。このダイアログ ボックスを使用するユーザは、ダイアログ内の値を編集できます。[OK]をクリックすると、このダイアログの値が元のパラメータに代入されます。
Visual Studio を開きます。
クラス ライブラリ タイプのプロジェクトを作成します。
ソリューション エクスプローラでプロジェクト名を右クリックして[追加] [新規項目]
[ダイアログ]の順に選択します。
Windows フォーム デザイナに、ダイアログ ボックスのグラフィックス ビューが表示されます。このインタフェースを使用して、ダイアログ ボックスにコントロールを追加できます。
[表示] [ツールボックス]をクリックして、使用可能なコントロールを表示します。
Inventor パラメータの値を表示および編集する機能が必要な場合には[TextBox]コントロールを追加します。各テキスト ボックスに Label を追加して、パラメータ名を表示します。
ダイアログ ボックスの背景をダブルクリックします。
コード エディタが表示され、Dialog1_Load
という名前の新しいサブルーチンが表示されます。
このサブルーチンで、サブルーチンの末尾の手前に次の行を追加します。
TextBox1.Text = d0
カーソルを次の行の下に移動します。
Public Class Dialog1
次の行を追加します。
Public d0 As Double
OK_Button_Click
という名前のサブルーチンの先頭に、次の行を追加します。
d0 = TextBox1.Text
コードは次のようになります。
Imports System.Windows.Forms
Public Class Dialog1
Public d0 As Double
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
d0 = TextBox1.Text
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub Dialog1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = d0
End Sub
End Class
プロジェクトをビルドし、[ファイル] [すべてを保存]を使用して保存します。
プロジェクトをビルドすると DLL が作成されます。次のいずれかを行うことができます。
次のサンプル ルールではダイアログ ボックスを使用しています。
AddReference "ClassLibrary1"
Sub Main()
dim dlg as new ClassLibrary1.Dialog1
dlg.d0 = d0
i = dlg.ShowDialog()
if (i = vbOK) then
d0= dlg.d0
end if
End Sub
このルールは、Inventor パラメータ d0 の現在の値をダイアログ ボックスに送信し、ダイアログ ボックスを表示します。このダイアログ ボックスを使用するユーザは、ダイアログ ボックス内の値を編集できます。[OK]をクリックすると、このダイアログの値が元のパラメータに代入されます。
ダイアログ ボックス用の類似するコードは自動的に生成することができます。[ルールを編集]ダイアログ ボックスで、[ウィザード]タブを選択し、[ダイアログのルールを作成]を選択します。