パーツ設定の管理

次に、このチュートリアルの冒頭で挙げた最後の 2 つのトピックを取り上げます。

iLogic には、Excel スプレッドシートから情報を読み込む関数が組み込まれています。これらの関数を使用するには、[システム]タブの[スニペット]領域で、[Excel データのリンク]ノードを展開します。

このレッスンでは、埋め込まれた Excel スプレッドシートの値を使用して、指定されたサイズに基づいて、ポート ジオメトリをコントロールするパラメータの値を設定するルールを記述します。このルールは、スプレッドシートのポート サイズを参照して値の行を特定します。その行のフィールドを読み込んで適切なパラメータ値を取得します。

T 形ブロックには 3 つのポートが含まれます。各ポートは、[パラメータ]ダイアログ ボックスに一覧表示されます。ただし、[パラメータ]ダイアログ ボックスでポート サイズを変更しても、モデルのポート サイズは変わりません。さまざまなポート サイズを駆動するルールを追加する必要があります。

最初の手順では、ポートのサイズおよび各ポートの周囲のねじパターンの寸法を設定するルールを追加します。ねじパターンはアセンブリで使用され、フランジをブロックに固定します。

  1. Autodesk Inventor のモデル ブラウザで、ツリーの[サード パーティ]ノードを展開します。
  2. Embedding 1 を右クリックし、[編集]を選択して埋め込まれたスプレッドシートにアクセスします。
  3. port_size_rule という名前のルールを追加し、[OK]をクリックして、[ルールを編集]ダイアログ ボックスを表示します。

    ルールが最初に実行する必要があるのは、Port A で使用される値が含まれるスプレッドシートの行を特定することです。port_size というラベルが付いた列で port_a_size パラメータに一致する値を参照します。

  4. ダイアログ ボックスの[システム]タブの[スニペット]領域で、[Excel データのリンク]ノードの FindRow (埋め込み)というラベルが付いた関数を特定します。関数をダブルクリックして、テキスト領域に挿入します。

    コード ブロックをコピーする

    i = GoExcel.FindRow(“3rd Party:Embedding 1”, “Sheet1”, “columnName”, “<=”, 0.2)
  5. この関数テンプレートをルールに挿入したら、columnName の最初のオカレンスを port_size に、“<=” の最初のオカレンスを “=” に、0.2port_a_size にそれぞれ置き換えます。

    コード ブロックをコピーする

    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_a_size)

    このコードは、埋め込まれたスプレッドシートで、port_a_size パラメータの値に等しい port_size 列がある行を見つけることを示しています。

  6. スプレッドシートのこの行のセルの値に基づいて、一連のパラメータを追加します。これらのパラメータは、ポートの直径、ドリルの深さ、およびボルト穴間の距離をコントロールします。[スニペット]領域の[Excel データのリンク]CurrentRowValue というラベルが付いた関数を使用します。

    コード ブロックをコピーする

     i = GoExcel.CurrentRowValue("columnName")

    ここに示すように、スニペットのコピーを編集します。

    コード ブロックをコピーする

    port_a_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_a_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_a_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_A_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    注: [ルールを編集]ダイアログ ボックスの[モデル]タブで項目を選択して、さまざまなセットのモデル パラメータを表示することができます。
  7. ねじ穴のねじ山を定義するには、[スニペット]領域の[フィーチャ]ノードに ThreadDesignation というラベルの付いたフィーチャを挿入します。

    コード ブロックをコピーする

    Feature.ThreadDesignation("featurename") = “3/8-16 UNC”

    ここに示すように、テキストを修正します。

    コード ブロックをコピーする

    Feature.ThreadDesignation("Port_A_Threads") = GoExcel.CurrentRowValue("tap_dim")

    ねじ穴のねじ山の指定を取得するには、tap_dim セルを使用する必要があることを示しました。

  8. Port A パラメータに対する指示が完成したので、Port B および Port C に対する指示を作成します。作成したルール テキストをコピーし、2 回貼り付けます。最初に貼り付けるコピーで、port_a の参照を port_b に変更します。次に貼り付けるコピーで、port_a の参照を port_c に変更します。これで、3 つのコード ブロックができ、それぞれが 3 つのポートのいずれかに関連付けられています。

    コード ブロックをコピーする

    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_a_size)
    port_a_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_a_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_a_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_A_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_A_Threads") = GoExcel.CurrentRowValue("tap_dim")
    
    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_b_size)
    port_b_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_b_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_b_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_B_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_B_Threads") = GoExcel.CurrentRowValue("tap_dim")
    
    i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "port_size", "=", port_c_size)
    port_c_y_dist_between_screw = GoExcel.CurrentRowValue("y_dist_between_screw")
    port_c_x_dist_between_screw = GoExcel.CurrentRowValue("x_dist_between_screw")
    port_c_port_dia = GoExcel.CurrentRowValue("port_dia")
    Port_C_Drill_Depth = GoExcel.CurrentRowValue("tap_drill_depth")
    Feature.ThreadDesignation("Port_C_Threads") = GoExcel.CurrentRowValue("tap_dim")
  9. iLogic ルール エディタで [OK] をクリックし、port_size_rule を保存します。iLogic ポート サイズ パラメータの最初の設定方法によって、モデルが更新される場合とされない場合があります。

[前へ] | [次へ]