iLogic ブラウザは、iLogic ルール、フォーム、グローバル フォームおよび外部ルールを一覧表示します。
ルールは、小さな Visual Basic (VB.NET)プログラムで、他の Inventor パラメータ、フィーチャ、またはコンポーネントをモニタしたりコントロールしたりできます。
iLogic では、ルールをオブジェクトとして、パーツ、アセンブリ、および図面ドキュメントに直接埋め込みます。ルールは、デザイン パラメータや属性値を決定したり、駆動したりします。これらの値をコントロールすることで、モデルの属性、フィーチャ、およびコンポーネントの特性を定義できます。
ジオメトリ設計要素の保存方法と同様に、情報を直接ドキュメントに保存します。
カスタム ユーザ インタフェースを作成し、Inventor のパーツ、アセンブリ、または図面ドキュメントのパラメータ、プロパティ、およびルールに接続します。
ドラッグ アンド ドロップにより、プログラミングを行わずにユーザ インタフェースを設計します。コントロールを使用して、既存の設計への変更を行うことができます。フォームの定義はドキュメント固有に設定でき、設計ドキュメントとして保存、または複数のドキュメントで使用するために保管できます。
外部ルールは、iLogic ルールか、手動で実行する小さなプログラム(VBA マクロなど)として使用することができます。これらはテキストまたは VB ファイルとして Inventor ドキュメント(パーツ、アセンブリ、または図面)の外部に保存します。これらは手動で実行するか、他のルールから実行できます。
外部ルールの一覧を iLogic ブラウザで表示するとき、開いているドキュメントに関係なく一覧の内容は同じになります。個別のドキュメントには、関連付けられていません。
また、外部ルールは、イベント駆動ルールとして実行することもできます。
iLogic にはいくつかのウィザードが用意されており、特定のタスクについて高度なルールを作成するために使用することができます。これらのウィザードは、[ルールの編集]ダイアログ ボックスの[ウィザード]タブにあります。
iLogic ブラウザでは、ルールは 2 つのタブに分類されています。
フォームは 2 つのタブに分類されています。
iLogic ブラウザの表示を、リボンの[表示]タブ[ウィンドウ]パネル
[ユーザ インタフェース]
の iLogic ブラウザでコントロールできます。
ルール内では、Visual Basic 変数と同様に、標準の Inventor パラメータ名を使用することができます。ルールを実行するとき、パラメータの値が変数に割り当てられます。数値パラメータの場合、[ツール] [ドキュメント設定]で指定されたドキュメント単位の実数になります。テキスト パラメータは、ルール内では文字列変数になります。真/偽のパラメータは、ブール変数になります。
パラメータは 2 種類の方法で表示できます。
ルールの実行が開始されると、ルール内のモデルからこれらのパラメータの値が読み取られます。ルールの実行が終了すると、変更された値をモデルに保存します。
ルールの実行が終了する前に値を保存するには、RuleParametersOutput 関数を使用します。モデルを即座に変更する場合には、この関数が便利です。
この方法で値を割り当てると、ルールの次の行が実行される前に、値がモデルに即座に保存されます。Parameter 関数を使用して値を読み取ると、Inventor モデルから即座に読み取られます。
外部ルールは、特定のパラメータの変更に対応して自動的に実行されることはありません。内部のルールと違って、パラメータ名が自動的にルールの変数として利用可能にはなりません。
たとえば、次のルールのステートメントは機能しません。
d1 = d0 * 0.5
代わりに、次の記述を使用します。
Parameter("d1") = Parameter("d0") * 0.5
このステートメントは、d0 および d1 と命名されたパラメータを持つパーツおよびアセンブリで機能します。このステートメントは、何らかの共通点があるパーツを操作する際に使用することができます。
ルール内の次のいずれかの Autodesk Inventor エンティティ名を使用する前に、作成時に既定の名前が割り当てられている場合には、その名前を変更する必要があります。
意味のある名前を付けてください。名前を変更すると、実行しているルールの内容を容易に把握できます。
また、既定の名前を変更するもう 1 つの理由に、移植性を向上することがあります。Inventor のローカライズ バージョンでは、既定の項目名はそのバージョンの言語に翻訳されます。モデル ブラウザでは、名前が自動的に変更されますが、iLogic ルールでは変更されません。したがって、既定の名前を使用している場合、ルールで項目を検出できない場合があります。他のユーザが Inventor の別の言語バージョンでモデルを使用する場合、既定の名前を変更する必要があります。この推奨事項は、ルールから名前によって呼び出される項目のみが該当します。たとえば、計測関数では、作業フィーチャ名を使用する場合があります。作業フィーチャがあり、計測関数では使用しない場合は、名前を変更する必要はありません。この推奨事項の例外の 1 つに、埋め込み Excel スプレッドシートがあります。この場合は名前を変更しないでください。
Inventor の非英語バージョンでは、ルール内で英語名を使用します。次の例を参照してください。
"3rd Party:Embedding 1"
パラメータが直接ルールの変数として使用されている場合、通常は、パラメータ値が変更されたときに自動的にルールが実行されます。また、ルールはイベントによってトリガすることができます。
ルールは、省略されていない限り、編集するとその直後に実行されます。ルールが実行されると、モデルでは、ルールの実行が終わるまでパラメータの変更は更新されません。必要な場合には、次のいずれかを使用して、即座にパラメータの変更が反映されるように強制することができます。
ルールを作成または編集するとき、ルールのテキストは有効な VB.NET コードに変換されて、コンパイルされます。一部の Inventor パラメータ名は、VB.NET の変数名として有効ではありません。すべての Inventor パラメータ名を使用できるようにするために、iLogic では、Inventor パラメータの新しい変数名を内部的に置換します。
Visual Basic のキーワードはパラメータ名として使用できますが、新しいドキュメントで使用することはお勧めできません。ただし、ルールを既存のドキュメントに追加するときには、多くの場合パラメータ名を変更する必要はありません。ある名前がキーワードと同一で、そのキーワードがルール内で必要な場合には、次の方法で対処できます。
Inventor の単位は、標準の Inventor パラメータの計算式と同様に、ルール内で使用することができます。
この例では、パーツ ファイルでドキュメント単位にインチが使用されています。iLogic パラメータ エディタで次のように指定されています。
ルールは次のように記述されています。
result = x + y MessageBox.Show(result,“Mixed Units Defined in Parameter Editor”)
加算計算時、y パラメータの値を 12.5 mm から .4921 インチに変換します。メッセージ ボックスに 1.49212598425197 の値が表示され、パラメータ エディタで単位が混在して定義されていることが示されます。
逆に、ドキュメント単位がミリメートルで定義されている場合、iLogic によって x パラメータの値が 1 in から 25.4 mm に変換されます。メッセージ ボックスに 37.9 の値が表示され、パラメータ エディタで単位が混在して定義されていることが示されます。