• 検索結果がありません。

チュートリアル Part 2 の概要 チュートリアル Part 2 では サンプルデータのマニホールドブロックを使用して ilogic で Excel スプレッドシートと関連付けて マニホールドブロックの各形状や部品番号に関するルールを作成 実行して ilogic のルールに基づいて Excel ス

N/A
N/A
Protected

Academic year: 2021

シェア "チュートリアル Part 2 の概要 チュートリアル Part 2 では サンプルデータのマニホールドブロックを使用して ilogic で Excel スプレッドシートと関連付けて マニホールドブロックの各形状や部品番号に関するルールを作成 実行して ilogic のルールに基づいて Excel ス"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

1 / 22

Autodesk Inventor

iLogic チュートリアル Part 2

Excel スプレッドシートと関連付けたルール作成

これは、3 つの章に分かれたチュートリアルの Part 2 です。Part 1 では、iLogic でルールを作成・実行して、 パーツドキュメントのパラメータ値を外部からコントロールする方法を学習します。Part 2 では、iLogic で Excel スプレッドシートと関連付けたルールを作成・実行して、Excel スプレッドシートを参照して、パーツドキュ メントのパラメータ値を外部からコントロールする方法を学習します。Part 3 では、iLogic でルールを作成・実 行して、アセンブリおよびコンポーネントのパラメータ値を外部からコントロールする方法を学習します。 iLogic チュートリアルでの学習は、Part 1 から順番に進めるようにしてください。 チュートリアル Part 2 のカリキュラムは、次のとおりです。 z パラメータの作成:パラメータエディタを使用して、ルールの作成に使用するパラメータやパラメータ値のリ ストを作成します。 z ルールの作成:ルールエディタを使用して、ルールを作成します。 z Excel スプレッドシートとの関連付け:Excel スプレッドシートを参照するルールを作成します。 z ルールのテスト:ルールを実行して、パーツの各形状の変化や部品番号の変化を確認します。 z ルールの順番の変更:ツリーエディタを使用して、ルールを実行する順番を変更します。

(2)

2 / 22

チュートリアル Part 2 の概要

チュートリアル Part 2 では、サンプルデータのマニホールドブロックを使用して、iLogic で Excel スプレッドシ ートと関連付けて、マニホールドブロックの各形状や部品番号に関するルールを作成・実行して、iLogic のル ールに基づいて、Excel スプレッドシートを参照して、パーツドキュメントのパラメータ値を外部からコントロー ルする方法を学習していきます。

サンプルデータのロード

チュートリアル Part 2 で使用するサンプルデータをロードします。 1. Autodesk Inventor を起動し、アプリケーション メニューから[管理][プロジェクト]を選択して、[プロジェク ト]ダイアログを表示します。または[スタートアップ]タブから[プロジェクト]を選択して、[プロジェクト]ダイア ログを表示します。

2. プロジェクトリストで Inventor プロジェクト[iLogic 2010 Tutorial]をアクティブにして、 [完了]ボタンをクリッ クします。

3. [リボン] メニューの [開く] を選択して [開く] ダイアログを表示し、、パーツドキュメントファイル 「manifold_block_no_rules.ipt」を開きます。

4. [アプリケーションメニュー] の [名前を付けて保存] を選択して [名前を付けて保存] ダイアログを表示し、 ファイル名「manifold_block.ipt」を入力して保存します。

(3)

3 / 22 これで、チュートリアル Part 2 で使用するサンプルデータのロードが完了しました。

パラメータを作成する

これからパラメータエディタを使用して、ルールのプログラム作成に使用するパラメータ z [port_a_size]パラメータ z [port_b_size]パラメータ z [port_c_size]パラメータ z [block]パラメータ z [component_type]パラメータ を作成していきます。

[port_a_size]パラメータの作成

1. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックします。これで、パラメータエディ タが起動し、[Parameter Editor]ダイアログが表示されます。 2. パラメータリストの一番下の行、[Name]列のセルをクリックして、パラメータ名「port_a_size」を入力します。 3. [port_a_size]行の[Type]列のセルをクリックしてドロップダウンリストを表示し、[User]を選択します。 4. [port_a_size]行の[Unit]列のセルをクリックしてドロップダウンリストを表示し、[in]を選択します。 5. [port_a_size]行の適当な空白セルを右クリックしてメニューを表示し、[Make Multi-Value]を選択して、

(4)

4 / 22

6. [Add New Item(s)]フィールドにパラメータ値「0.5」、「0.75」、「1.00」、「1.25」、「1.50」、「2.00」、「2.50」、 「3.00」を入力し、[Add]ボタンをクリックして[Value]リストに追加します。 7. [OK]ボタンをクリックして、ダイアログを閉じます。 8. [part_a_size]行の[Key]列にチェックを入れて、キーパラメータに設定します。

[port_b_size]、[port_c_size]パラメータの作成

[port_a_size]パラメータと同じ内容で、[port_b_size]、[port_c_size]パラメータを作成します。

[block]パラメータの作成

1. パラメータリストの一番下の行、[Name]列のセルをクリックして、パラメータ名「block」を入力します。 2. [block]行の[Type]列のセルをクリックしてドロップダウンリストを表示し、[String]を選択します。 3. [block]行の[Unit]列のセルをクリックして空白にします。 4. [block]行の適当な空白セルを右クリックしてメニューを表示し、[Make Multi-Value]を選択して、[Value List Editer]ダイアログを表示します。

5. [Add New Item(s)]フィールドにパラメータ値「tee」、「elbow」を入力し、[Add]ボタンをクリックして[Value] リストに追加します。

6. [OK]ボタンをクリックして、[Value List Editer]ダイアログを閉じます。 7. [block]行の[Key]列にチェックを入れて、キーパラメータに設定します。

[component_type]パラメータの作成

1. パラメータリストの一番下の行、[Name]列のセルをクリックして、パラメータ名「component_type」を入力 します。 2. [component_type]行の[Type]列のセルをクリックしてドロップダウンリストを表示し、[String]を選択します。 3. [component_type]行の[Unit]列のセルをクリックして空白にします。 4. [component_type]行の適当な空白セルを右クリックしてメニューを表示し、[Make Multi-Value]を選択し て、[Value List Editer]ダイアログを表示します。

5. [Add New Item(s)]フィールドにパラメータ値「standard」、「custom」を入力し、[Add]ボタンをクリックして [Value]リストに追加します。

(5)

5 / 22

6. [OK]ボタンをクリックして、[Value List Editer]ダイアログを閉じます。

7. [component_type]行の[Key]列にチェックを入れて、キーパラメータに設定します。 8. [Done]ボタンをクリックしてダイアログを閉じてから、パーツドキュメントを保存します。 これで、ルールのプログラム作成に使用するパラメータの作成は、すべて完了しました。

ルールを作成する

これから、ルールエディタを使用して、ブロックの各形状や部品番号のパラメータ値をコントロールするための ルール z ブロックの回路のルール z ポートのサイズのルール z ブロックのサイズのルール z ポートのサイズ構成のルール z 部品番号のルール のプログラムを作成していきます。

ブロックの回路のルール

ブロックには、ポートをつなぐ回路が設けられています。 パラメータの作成段階では、[block]パラメータを作成して、パラメータ値[tee]、[elbow]を割り当てました。これ から、このパラメータとパラメータ値を構文に使用して、ブロックの回路のルールのプログラムを作成します。 パラメータエディタの[Multi-Value]リストでパラメータ値を選択すると、ブロックの回路をティータイプまたはエ ルボタイプに変更する、そんな動作のルールを実行できるようにします。

(6)

6 / 22

ルールのプログラムの作成

ブロックの回路のルールのプログラムを作成していきます。

パラメータ値が[tee]のときに実行するパート

まず、パラメータ値が[tee]のときに実行するパートを作成します。

1. [管理]タブの[iLogic]パネルの[Add Rule]ツールをクリックして、[Rule Name]ダイアログを表示します。 2. [Name]フィールドにルール名「block_shape_rule」を入力し、[OK]ボタンをクリックして、[Edit Rule]ダイア ログを表示します。 3. [Model]タブをクリックして内容を表示し、テキストフィールドに「If」を入力するか、[If]ボタンをクリックして挿 入します。 4. モデルツリーフィールドの[iLogic Parameters]をクリックして、[Parameters]タブにパラメータをリスト表示 します。 5. [block]パラメータをダブルクリックして、テキストフィールドに挿入します。 6. 「="tee"」を入力します。 7. [Then]ボタンをクリックして、テキストフィールドに挿入します。

If

block

=

"tee"

Then

8. [Rule Syntax]タブをクリックして、内容を表示します。 9. [Categories]フィールドの[Component/Feature]をクリックし、[Functions]フィールドの [Feature.IsActive(featurename”)]をダブルクリックして、テキストフィールドに挿入します。 10. [Model]タブをクリックして、内容を表示します。 11. モデルツリーフィールドの[Port_B]をクリックして、[Names]タブにパラメータをリスト表示します。 12. 括弧内の構文「featurename」を選択した状態で、[Names]タブの[Port_B]をダブルクリックして、テキスト フィールドに挿入します。 13. ("Port_B")の後に「=True」を入力します。 14. [Rule Syntax]タブをクリックして、内容を表示します。 15. [Categories]フィールドの[Component/Feature]をクリックし、[Function]フィールドの [Feature.IsActive(featurename”)]をダブルクリックして、テキストフィールドに挿入します。 16. [Model]タブをクリックして、内容を表示します。 17. モデルツリーフィールドの[Port_B_Threads]をクリックして、[Names]タブにパラメータをリスト表示します。 18. 括弧内の構文「featurename」を選択した状態で、[Names]タブの[Port_B_Threads]をダブルクリックして、 テキストフィールドに挿入します。 19. ("Port_B_Threads")の後に「=True」を入力します。

Feature.IsActive

(

"Port_B"

) = True

(7)

7 / 22 ここでは、[block]パラメータのパラメータ値が[tee]のときは、[Port_B]フィーチャと[Port_B_threads]フィーチャ のアクティブ化を有効にすることを指定しています。

パラメータ値が[elbow]のときに実行するパート

次に、パラメータ値が[elbow]のときに実行するパートを作成します。 1. テキストフィールドに「ElseIf」を入力するか、[ElseIf]ボタンをクリックして挿入します。 2. モデルツリーフィールドの[iLogic Parameters]をクリックして、[Parameters]タブにパラメータをリスト表示 します。 3. [block]パラメータをダブルクリックして、テキストフィールドに挿入します。 4. 「="elbow"」を入力します。 5. [Then]ボタンをクリックして、テキストフィールドに挿入します。

ElseIf

block

=

"elbow"

Then

6. 先に作成したパラメータ値[tee]のパートの構文をコピー&ペーストし、「True」の箇所を「False」に修正しま す。

Feature.IsActive

(

"Port_B"

) = False

Feature.IsActive

(

"Port_B_Threads"

) = False

ここでは、[block]パラメータのパラメータ値が[elbow]のときは、[Port_B]フィーチャと[Port_B_threads]フィーチ ャのアクティブ化を無効にすることを指定しています。 7. テキストフィールドに「EndIf」を入力するか、[EndIf]ボタンをクリックして挿入します。

End If

8. [OK]ボタンをクリックして、ダイアログを閉じます。 これで、ブロックの回路のルールのプログラム作成は完了しました。

ルールのテスト

ブロックの回路のルールを実行して、意図した通りに動作するかテストを行います。

1. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックして、[Parameter Editor]ダイア ログを表示します。

(8)

8 / 22 2. [block]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[tee]を選択します。パラメー タ値[tee]を選択すると、ブロックのポート B が作成され、回路がティータイプに変更されることを確認してく ださい。 3. [block]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[elbow]を選択します。パラ メータ値[elbow]を選択すると、ブロックのポート B が省略され、回路がエルボタイプに変更されることを確 認してください。

(9)

9 / 22 4. [Done]ボタンをクリックして、ダイアログを閉じます。 これで、ブロックの回路のルールのテストは完了しました。

ポートのサイズのルール

ブロックには、ポートとタップ穴が設けられています。 パラメータの作成段階では、[port_a_size]、[port_b_size]、[port_c_size]パラメータを作成して、パラメータ値 を割り当てました。これから、これらのパラメータとパラメータ値を構文に使用して、ポートのサイズのルールの プログラムを作成します。 パラメータエディタの[Multi-Value]リストでパラメータ値を選択すると、Excel スプレッドシートを参照して、ポー トのサイズとタップ穴を変更する、そんな動作のルールを実行できるようにします。

ルールのプログラムの作成

ポートのサイズのルールのプログラムを作成していきます。

パラメータ値が[port_a_size]のときに実行するパート

まず、パラメータ値が[port_a_size]のときに実行するパートを作成します。 1. [モデル]ブラウザの[サードパーティ]を展開し、[Embedding 1]を右クリックしてメニューを表示し、[編集]を 選択して、パーツドキュメントに埋め込まれた Excel スプレッドシートを表示します。Excel スプレッドシー トの各列にブロックの各形状のモデルパラメータに対応するパラメータとパラメータ値が記載されているこ とに注目してください。

2. [iLogic]パネルの[Add Rule]ツールをクリックして、[Rule Name]ダイアログを表示します。

3. [Name]フィールドにルール名「port_size_rule」を入力し、[OK]ボタンをクリックして、[Edit Rule]ダイアロ グを表示します。

(10)

10 / 22 4. [Rule Syntax]タブをクリックして、内容を表示します。

5. [Categories]フィールドの[Data Links]をクリックして、[Functions]フィールドに構文をリスト表示します。 6. [Functions]フィールドの[i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", columnName", "<=", 0.2, "columnName", "<=", 4.1)]をダブルクリックして、構文をテキストフィールドに挿入します。 7. 挿入した構文を次の通りに修正します。

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port_a_size

)

8. [Functions]フィールドの[= GoExcel.CurrentRowValue]をダブルクリックして、構文をテキストフィールド に挿入します。

9. 挿入した構文を次の通りに修正します。

port_a_y_dist_between_screw

=

GoExcel.CurrentRowValue

(

"y_dist_between_screw"

)

10. 先に作成したパートの構文のコピー&ペーストと修正を繰り返して、次の通りにします。

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"

)

ここでは、[port_a_size]パラメータに対応する Excel スプレッドシートの列と、ポート A とタップ穴のパラメータ 値を参照する Excel スプレッドシートの列を指定しています。青色表示のパラメータは、すべてパーツドキュメ ント「manifold_block.ipt」のパラメータです。 11. [Categories]フィールドの[Component/Feature]をクリックして、[Functions]フィールドに構文をリスト表示 します。 12. [Functions]フィールドの[Feature.ThreadDesignation(“featurename”)= “3/8-16 UNC”]をダブルクリック して、構文をテキストフィールドに挿入します。 13. 挿入した構文を次の通りに修正します。

Feature.ThreadDesignation

(

"Port_A_Threads"

) =

GoExcel.CurrentRowValue

(

"tap_dim"

)

(11)

11 / 22 トの列を指定しています。

パラメータ値が[port_b_size]のときに実行するパート

次に、パラメータ値が[port_b_size]のときに実行するパートを作成します。 1. 先に作成したパラメータ値[port_a_size]のパートの構文をコピー&ペーストします。 2. 「port_a」の箇所を、すべて「port_b」に修正します。

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"

)

パラメータ値が[port_c_size]のときに実行するパート

最後に、パラメータ値が[port_b_size]のときに実行するパートを作成します。

1. 先に作成したパラメータ値[port_a_size]のパートの構文をコピー&ペーストします。 2. 「port_a」の箇所を、すべて「port_c」に修正します。

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"

)

3. [OK]ボタンをクリックしてダイアログを閉じてから、パーツドキュメントを保存します。

これで、ポートのサイズのルールのプログラム作成は完了しました。

ルールのテスト

ポートのサイズのルールを実行して、意図した通りに動作するかテストを行います。

1. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックして、[Parameter Editor]ダイア ログを表示します。

(12)

12 / 22 2. [port_a_size]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[1.50]を選択してか ら適当な空白セルをクリックします。パラメータ値[1.50]を選択すると、ポート A のサイズが 1.5 インチに 変更され、それに合わせてタップ穴が変更されることを確認してください。 3. [Done]ボタンをクリックして、ダイアログを閉じます。 これで、ポートのサイズのルールのテストは完了しました。

ブロックのサイズのルール

現状のままでは、ポートのサイズのルールを実行してポートのサイズを変更しても、ブロックは元のサイズの ままです。ポートのサイズの変更にブロックのサイズを対応させるために、これから、ブロックのサイズのルー ルのプログラムを作成していきます。 ポートのサイズを変更すると、Excel スプレッドシートを参照して、最大サイズのポートに合わせてブロックの サイズを変更する、そんな動作のルールを実行できるようにします。

ルールのプログラムの作成

ブロックのサイズのルールのプログラムを作成していきます。

(13)

13 / 22

1. [iLogic]パネルの[Add Rule]ツールをクリックして、[Rule Name]ダイアログを表示します。

2. [Name]フィールドにルール名「block_size」を入力し、[OK]ボタンをクリックして、[Edit Rule]ダイアログを 表示します。

3. テキストフィールドに「If block = "tee" Then」を入力します。

4. [Rule Syntax]タブをクリックして内容を表示し、[Categories]フィールドの[Math]をクリックします。 5. [Functions]フィールドの[MaxOfMany(,,,,)]をダブルクリックして、構文をテキストフィールドに挿入します。 6. 挿入した構文を「port = MaxOfMany(port_a_size,port_b_size,port_c_size)」に修正します。

7. テキストフィールドに「ElseIf block = "elbow" Then」を入力します。

8. [Functions]フィールドの[MaxOfMany(,,,,)]をダブルクリックして、構文をテキストフィールドに挿入します。 9. 挿入した構文を「port = MaxOfMany(port_a_size,port_c_size)」に修正します。

10. テキストフィールドに「EndIf」を入力するか、[EndIf]ボタンをクリックして挿入します。

If

block

=

"tee"

Then

port

=

MaxOfMany

(

port_a_size

,

port_b_size

,

port_c_size

)

ElseIf

block

=

"elbow"

Then

port

=

MaxOfMany

(

port_a_size

,

port_c_size

)

End If

ここでは、[block]パラメータのパラメータ値が[tee]のときには、[port_a_size]、[port_b_size]、[port_c_size]パ ラメータの中でパラメータ値が最大のものを[port]パラメータとする、パラメータ値が[elbow]のときには、 [port_a_size]、[port_c_size]パラメータの中でパラメータ値が最大のものを[port]パラメータとすることを指示 しています。 11. テキストフィールドに、次の通りに構文を入力します。

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port

)

block_depth

=

GoExcel.CurrentRowValue

(

"block_depth"

)

port_c_depth_from_front

=

GoExcel.CurrentRowValue

(

"port_c_depth_from_front"

)

block_width

=

GoExcel.CurrentRowValue

(

"block_width"

)

port_a_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

port_b_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

port_c_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

ここでは、[port]パラメータのパラメータ値に対応する Excel スプレッドシートの列と、ブロックのパラメータ値が 参照する Excel スプレッドシートの列を指定しています。

12. テキストフィールドに、次のとおりに構文を入力します。

(14)

14 / 22

porta

=

MaxOfMany

(

port_a_size

,

port_b_size

)

ElseIf

block

=

"elbow"

porta

=

port_a_size

End If

ここでは、[block]パラメータのパラメータ値が[tee]のときには、[port_a_size]、[port_b_size]パラメータの中で パラメータ値が最大のものを[porta]パラメータとする、パラメータ値が[elbow]のときには、[port_a_size]パラメ ータを[porta]パラメータとすることを指示しています。 13. テキストフィールドに、次の通りに構文を入力します。

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

porta

)

port_a_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

port_b_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

ここでは、[porta]パラメータのパラメータ値に対応する Excel スプレッドシートの列と、ブロックのパラメータ値 が参照する Excel スプレッドシートの列を指定しています。

14. テキストフィールドに、次の通りに構文を入力します。

If

block

=

"elbow"

Then

port_c_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

+

(

GoExcel.CurrentRowValue

(

"port_dia"

)

/

4)

Else

port_c_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

End If

ここでは、[block]パラメータのパラメータ値が[elbow]のときには、Excel スプレッドシートを参照して [Vertoffset]+[port_dia]/4 のパラメータ値を[port_c_vert_offset]パラメータに出力する、パラメータ値が [elbow]以外のときには、Excel スプレッドシートの[Vertoffset]列のパラメータ値を[port_c_vert_offset]パラメ ータに出力することを指示しています。 15. テキストフィールドに、次の通りに構文を入力します。

block_height

=

GoExcel.CurrentRowValue

(

"block_height"

)

ここでは、Excel スプレッドシートの[block_height]列のパラメータ値を、[block_height]パラメータに出力する ことを指示しています。

(15)

15 / 22

16. [OK]ボタンをクリックしてダイアログを閉じてから、パーツドキュメントを保存します。

これで、ブロックのサイズのルールのプログラム作成は完了しました。

ルールのテスト

ブロックのサイズのルールを実行して、意図した通りに動作するかテストを行います。

1. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックして、[Parameter Editor]ダイア ログを表示します。 2. パラメータフィルタの左フィールドを[All]に、右フィールドを[Key]に設定して、パラメータリストをフィルタリン グします。 3. [port_a_size]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[3.00]を選択してか ら適当な空白セルをクリックします。パラメータ値[3.00]を選択すると、ポート A のサイズが 3 インチに変 更されるのに合わせて、ブロックのサイズが変更されることを確認してください。 4. [Done]ボタンをクリックして、ダイアログを閉じます。 これで、ブロックのサイズのルールのテストは完了しました。

ポートのサイズ構成のルール

パラメータの作成段階では、[component_type]パラメータを作成して、パラメータ値[standard]、[custom]を割 り当てました。 これから、このパラメータとパラメータ値を構文に使用して、ポートのサイズ構成のルールのプログラムを作成 します。 パラメータエディタの[Multi-Value]リストでパラメータ値[standard]を選択すると、他のポートをポート A と同じ サイズに強制的に変更する、そんな動作のルールを実行できるようにします。

ルールのプログラムの作成

ポートのサイズ構成のルールのプログラムを作成していきます。

1. [iLogic]パネルの[Add Rule]ツールをクリックして、[Rule Name]ダイアログを表示します。

2. [Name]フィールドにルール名「component_type_rule」を入力し、[OK]ボタンをクリックして、[Edit Rule]ダ イアログを表示します。

3. テキストフィールドに、次の通りに構文を入力します。

(16)

16 / 22

port_b_size

=

port_a_size

port_c_size

=

port_a_size

End If

4. [OK]ボタンをクリックしてダイアログを閉じます。 これで、ポートのサイズ構成のルールのプログラム作成は完了しました。

ルールの順番の変更

iLogic でルールを実行する順番は、ツリーエディタでルールの配列を入れ替えることで変更できます。これか ら、ポートのサイズ構成のルールを一番先に実行できるように、ルールの順番を変更します。

1. [iLogic]パネルの[edit iLogic Tree]ツールをクリックして、[iLogic Tree]ダイアログを表示します。 2. [In Document]タブの[component_type_rule]をツリーの一番上にドラッグ&ドロップして、ルールの実行 の順番を入れ替えます。 3. [OK]ボタンをクリックしてダイアログを閉じてから、パーツドキュメントを保存します。 これで、ルールの順番の変更は完了しました。

ルールのテスト

ポートのサイズ構成のルールを実行して、意図した通りに動作するかテストを行います。 1. [iLogic]パネルの[Parameters]ツールをクリックして、[Parameter Editor]ダイアログを表示します。 ここで、[port_b_size]、[port_c_size]行の[Driving Rule]列のセルに注目してください。どちらのセルにも ルール名がハイライト表示されています。これは、[port_b_size]、[port_c_size]パラメータのパラメータ値 は、ポートの構成のルールに基づいていることを示しています。

(17)

17 / 22 2. [component_type]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[standard]を選 択します。 3. [port_a_size]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[0.75]を選択します。 パラメータ値[standard]、[0.75]を選択すると、ポート A が 0.75 インチに変更されるのに合わせて、他の ポートがポート A と同じ 0.75 インチに強制的に変更されることを確認してください。 4. [component_type]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[custum]を選 択します。 5. [port_c_size]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[3.00]を選択します。 パラメータ値[custum]、[3.00]を選択すると、ポート C のみ 3 インチに変更され、他のポートは変更されな いことを確認してください。 6. [Done]ボタンをクリックして、ダイアログを閉じます。 これで、ポートのサイズ構成のルールのテストは完了しました。

部品番号のルール

最後に、部品番号のルールのプログラムを作成します。 パラメータエディタで、ポートのサイズのパラメータ値を変更すると、Excel のスプレッドシートを参照して i Property の部品番号を更新する、そんな動作のルールを実行できるようにします。

ルールのプログラムの作成

部品番号のルールのプログラムを作成していきます。

1. [iLogic]パネルの[Add Rule]ツールをクリックして、[Rule Name]ダイアログを表示します。

2. [Name]フィールドにルール名「part_number_rule」を入力し、[OK]ボタンをクリックして、[Edit Rule]ダイア ログを表示します。

(18)

18 / 22

If

component_type

=

"standard"

Then

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port_a_size

)

4. [Rule Syntax]タブをクリックして、内容を表示します。

5. [Categories]フィールドの[i Properties]をクリックして、[Functions]フィールドに構文をリスト表示します。 6. [Functions]フィールドの[iProperties.Value("Project", "Part Number")]をダブルクリックして、構文をテキ

ストフィールドに挿入します。

7. [Categories]フィールドの[Data Links]をクリックして、[Functions]フィールドに構文をリスト表示します。 8. [Functions]フィールドの[= GoExcel.CurrentRowValue("column_Name")]をダブルクリックして、構文を

テキストフィールドに挿入します。 9. 挿入した構文を次の通りに修正します。

iProperties.Value

(

"Project"

,

"Part Number"

) =

GoExcel.CurrentRowValue

(

"model_code"

)

ここでは、Excel スプレッドシートの[model_code]列のパラメータ値を i Property の部品番号に出力すること を指定しています。

10. テキストフィールドに、次の通りに構文を入力します。

Else

iProperties.Value

(

"Project"

,

"Part Number"

) =

"HomeMade"

End If

ここでは、パラメータ値が[standard]以外のときは、i Property の部品番号にパラメータ値[HomeMade]を出 力することを指定しています。

11. [OK]ボタンをクリックしてダイアログを閉じてから、パーツドキュメントを保存します。

これで、部品番号のルールのプログラム作成は完了しました。

ルールのテスト

部品番号のルールを実行して、意図した通りに動作するかテストを行います。

1. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックして、[Parameter Editor]ダイア ログを表示します。

2. [component_type]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[standard]を選 択します。

(19)

19 / 22

3. [port_a_size]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[1.50]を選択します。 4. [Done]ボタンをクリックして、[Parameter Editor]ダイアログを閉じます。

5. [アプリケーション メニュー]の[i Property]を選択して[i Property]ダイアログを表示し、[プロジェクト]タブを クリックして内容を表示します。パラメータ値[standard]、[1.50]を選択すると、Excel のスプレッドシートを 参照して、[i Property]ダイアログの[部品番号]フィールドに、部品番号[MAN-150]が入力されていること を確認してください。

6. [閉じる]ボタンをクリックして、[i Property]ダイアログを閉じます。

7. [管理]タブの[パラメータ]パネルから[iLogic Parameters]ツールをクリックして、[Parameter Editor]ダイア ログを表示します。

8. [component_type]行の[Multivalue]列のセルをクリックしてドロップダウンリストを表示し、[custom]を選 択します。

9. [Done]ボタンをクリックして、[Parameter Editor]ダイアログを閉じます。

10. [アプリケーション メニュー]の[i Property]を選択して[i Property]ダイアログを表示し、[プロジェクト]タブを クリックして内容を表示します。パラメータ値[custum]、[1.50]を選択すると、[i Property]ダイアログの[部 品番号]フィールドに、部品番号「HomeMade」が入力されていることを確認してください。

(20)

20 / 22

11. [閉じる]ボタンをクリックして、[i Property]ダイアログを閉じます。

これで、部品番号のルールのテストは完了しました。

これをもって、iLogic チュートリアル Part2 のカリキュラムはすべて完了しました。 最後に、パーツドキュメントを保存して閉じます。

iLogic チュートリアル Part2 は終了です。Part3 へ進んでください。

付録 ルールのプログラム全文

ブロックの回路のルール

If

block

=

"tee"

Then

Feature.IsActive

(

"Port_B"

) = True

Feature.IsActive

(

"Port_B_Threads"

) = True

ElseIf

block

=

"elbow"

Then

Feature.IsActive

(

"Port_B"

) = False

Feature.IsActive

(

"Port_B_Threads"

) = False

End If

ポートのサイズのルール

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port_a_size

)

(21)

21 / 22

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"

)

ブロックのサイズのルール

If

block

=

"tee"

Then

port

=

MaxOfMany

(

port_a_size

,

port_b_size

,

port_c_size

)

ElseIf

block

=

"elbow"

Then

port

=

MaxOfMany

(

port_a_size

,

port_c_size

)

End If

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port

)

block_depth

=

GoExcel.CurrentRowValue

(

"block_depth"

)

port_c_depth_from_front

=

GoExcel.CurrentRowValue

(

"port_c_depth_from_front"

)

block_width

=

GoExcel.CurrentRowValue

(

"block_width"

)

port_a_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

port_b_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

port_c_hor_offset

=

GoExcel.CurrentRowValue

(

"hor_offset"

)

If

block

=

"tee"

Then

porta

=

MaxOfMany

(

port_a_size

,

port_b_size

)

ElseIf

block

=

"elbow"

porta

=

port_a_size

(22)

22 / 22

End If

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

porta

)

port_a_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

port_b_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

If

block

=

"elbow"

Then

port_c_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

+

(

GoExcel.CurrentRowValue

(

"port_dia"

)

/

4)

Else

port_c_vert_offset

=

GoExcel.CurrentRowValue

(

"vert_offset"

)

End If

block_height

=

GoExcel.CurrentRowValue

(

"block_height"

)

ポートのサイズ構成のルール

If

component_type

=

"standard"

Then

port_b_size

=

port_a_size

port_c_size

=

port_a_size

End If

部品番号のルール

If

component_type

=

"standard"

Then

i

=

GoExcel.FindRow

(

"3rd Party:Embedding 1"

,

"Sheet1"

,

"port_size"

,

"="

,

port_a_size

)

iProperties.Value

(

"Project"

,

"Part Number"

) =

GoExcel.CurrentRowValue

(

"model_code"

)

Else

iProperties.Value

(

"Project"

,

"Part Number"

) =

"HomeMade"

End If

Autodesk Inventor は、米国 Autodesk, Inc.の米国およびその他の国における商標または登録商 標です。その他記載の会社名、ブランド名および商品名は、各社の商標または登録商標です。 記載事項は、予告なく変更することがございます。予めご了承ください。

参照

関連したドキュメント

このように、このWの姿を捉えることを通して、「子どもが生き、自ら願いを形成し実現しよう

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

層の項目 MaaS 提供にあたっての目的 データ連携を行う上でのルール MaaS に関連するプレイヤー ビジネスとしての MaaS MaaS

※ 本欄を入力して報告すること により、 「項番 14 」のマスター B/L番号の積荷情報との関

基準の電力は,原則として次のいずれかを基準として決定するも

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

この設備によって、常時監視を 1~3 号機の全てに対して実施する計画である。連続監

を育成することを使命としており、その実現に向けて、すべての学生が卒業時に学部の区別なく共通に