Visual Studio を使用してダイアログを表示するには

Visual Basic 2008 の使用方法

  1. Visual Basic 2008 Express がコンピュータにインストールされていない場合は、Microsoft® の Web サイトからダウンロードしてインストールします。このダウンロード プログラムは無料です。
  2. Visual Basic 2008 Express を開いて、クラス ライブラリ タイプのプロジェクトを作成します。
  3. プロジェクトの名前を ClassLibrary1 (既定の名前)にして、[OK]をクリックします。入力した正確な名前をメモに書き留めておきます。この名前は、以降の手順で使用するため重要です。

    新しいウィンドウが開き、右上にソリューション エクスプローラが表示されます。

  4. ソリューション エクスプローラで、プロジェクト名を右クリックして、[追加]を選択し、サブメニューから[新しい項目]を選択します。[新規アイテムを追加]ダイアログ ボックスが表示されます。
  5. [ダイアログ]テンプレートを選択して[追加]をクリックします。

    Windows フォーム デザイナに、ダイアログ ボックスのグラフィックス ビューが表示されます。このインタフェースを使用して、ダイアログ ボックスにコントロールを追加できます。

    画面の左側のツールボックスに、ダイアログ ボックスへ追加可能なコントロールが一覧表示されます。このプロジェクトの場合は、Inventor の値を表示するテキストボックスを追加して、パラメータを編集できるようにします。

  6. [ツールボックス]パネルの[コモン コントロール]グループで[TextBox]をクリックして、ダイアログ ボックスの灰色の領域までドラッグし、配置します。必要に応じてダイアログ ボックスのサイズを変更できます。
  7. テキスト ボックスに Label を追加して、パラメータ名を表示します。
  8. 背景のダイアログ ボックスをダブルクリックして(ラベルやテキスト ボックスをクリックしないように注意します)、コード エディタを表示します。次のコードが表示されます。
  9. カーソルをすぐ下の行に移動します。
    Public Class Dialog1
  10. 次の行を追加します。
    Public d0 As Double
  11. サブルーチン OK_Button_Click の最上部の Me.DialogResult... ステートメントの前にカーソルを移動し、[Enter]を押して、新しい行を追加します。
  12. 新しい行に次のテキストを追加します。
    d0 = TextBox1.Text

    コードは次のようになります。

  13. [ファイル] [保存]または[ファイル] [すべて保存]を使用して作業内容を保存します。

    これで、プロジェクトを作成する準備はほぼ完了です。ビルドを実行すると、Visual Basic によって DLL ファイルが作成されます。Visual Basic によってこのファイルが作成される場所は、ビルドの出力パスを修正することで指定できます。

  14. プロジェクトのタイトルが表示されたタブをクリックして、さらに[コンパイル]タブをクリックします。出力パスを次のように指定します。

    Program Files¥Autodesk¥Inventor {バージョン}¥Bin¥iLogicAdd¥

  15. プロジェクトをビルドするには、上部のメニューでビルドをクリックします。ビルドが問題なく終了したら、画面の左下のステータス バーに[ビルド正常終了]のメッセージが表示されます。
  16. 作業内容を[すべてを保存]で再度保存し、Inventor を開きます。
  17. [ルールを追加]を使用して、次の内容の 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]をクリックすると、このダイアログの値が元のパラメータに代入されます。

パラメータ値を表示および編集するためのダイアログを作成する

  1. Visual Studio を開きます。
  2. クラス ライブラリ タイプのプロジェクトを作成します。
  3. ソリューション エクスプローラでプロジェクト名を右クリックして[追加] [新しい項目] [ダイアログ]の順に選択します。

    Windows フォーム デザイナに、ダイアログ ボックスのグラフィックス ビューが表示されます。このインタフェースを使用して、ダイアログ ボックスにコントロールを追加できます。

  4. [表示] [ツールボックス] をクリックして、使用可能なコントロールを表示します。
  5. Inventor パラメータの値を表示および編集する機能が必要な場合には[TextBox]コントロールを追加します。各テキスト ボックスに Label を追加して、パラメータ名を表示します。
  6. ダイアログ ボックスの背景をダブルクリックします。

    コード エディタが表示され、Dialog1_Load という名前の新しいサブルーチンが表示されます。

  7. このサブルーチンで、サブルーチンの末尾の手前に次の行を追加します。
    TextBox1.Text = d0
  8. カーソルを次の行の下に移動します。
    Public Class Dialog1
  9. 次の行を追加します。
    Public d0 As Double
  10. 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
  11. プロジェクトをビルドし、[ファイル] [すべてを保存]を使用して保存します。

プロジェクトをビルドすると 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]をクリックすると、このダイアログの値が元のパラメータに代入されます。

ダイアログ ボックス用の類似するコードは自動的に生成することができます。[ルールを編集]ダイアログ ボックスで、[ウィザード]タブを選択し、[ダイアログのルールを作成]を選択します。