iLogic ブラウザは、iLogic ルール、フォーム、グローバル フォームおよび外部ルールを一覧表示します。
iLogic ブラウザでは、ルールは 2 つのタブに分類されています。
フォームは 2 つのタブに分類されています。
ルールは、小さな Visual Basic (VB.NET)プログラムで、他の Inventor パラメータ、フィーチャ、またはコンポーネントをモニタしたりコントロールしたりできます。
iLogic では、ルールをオブジェクトとして、パーツ、アセンブリ、および図面ドキュメントに直接埋め込みます。ルールは、デザイン パラメータや属性値を決定したり、駆動したりします。これらの値をコントロールすることで、モデルの属性、フィーチャ、およびコンポーネントの特性を定義できます。
ジオメトリ設計要素の保存方法と同様に、情報を直接ドキュメントに保存します。
ルール内では、Visual Basic 変数と同様に、標準の Inventor パラメータ名を使用することができます。ルールを実行するとき、パラメータの値が変数に割り当てられます。数値パラメータの場合、[ツール] [ドキュメント設定]で指定されたドキュメント単位の実数になります。テキスト パラメータは、ルール内では文字列変数になります。真/偽のパラメータは、ブール変数になります。
パラメータは 2 種類の方法で表示できます。
ルールの実行が開始されると、ルール内のモデルからこれらのパラメータの値が読み取られます。ルールの実行が終了すると、変更された値をモデルに保存します。
ルールの実行が終了する前に値を保存するには、RuleParametersOutput 関数を使用します。モデルを即座に変更する場合には、この関数が便利です。
この方法で値を割り当てると、ルールの次の行が実行される前に、値がモデルに即座に保存されます。Parameter 関数を使用して値を読み取ると、Inventor モデルから即座に読み取られます。
ルール内の次のいずれかの Autodesk Inventor エンティティ名を使用する前に、作成時に既定の名前が割り当てられている場合には、その名前を変更する必要があります。
意味のある名前を付けてください。名前を変更すると、実行しているルールの内容を容易に把握できます。
また、既定の名前を変更するもう 1 つの理由に、移植性を向上することがあります。Autodesk Inventor のローカライズ バージョンでは、既定の項目名はそのバージョンの言語に翻訳されます。モデル ブラウザでは、名前が自動的に変更されますが、iLogic ルールでは変更されません。したがって、既定の名前を使用している場合、ルールで項目を検出できない場合があります。他のユーザが Inventor の別の言語バージョンでモデルを使用する場合、既定の名前を変更する必要があります。この推奨事項は、ルールから名前によって呼び出される項目のみが該当します。たとえば、計測関数では、作業フィーチャ名を使用する場合があります。作業フィーチャがあり、計測関数では使用しない場合は、名前を変更する必要はありません。この推奨事項の例外の 1 つに、埋め込み Excel スプレッドシートがあります。この場合は名前を変更しないでください。
Autodesk Inventor の非英語バージョンでは、ルール内で英語名を使用します。次の例を参照してください。
"3rd Party:Embedding 1"
パラメータが直接ルールの変数として使用されている場合、通常は、パラメータ値が変更されたときに自動的にルールが実行されます。また、ルールはイベントによってトリガすることができます。
ルールは、省略されていない限り、編集するとその直後に実行されます。ルールが実行されると、モデルでは、ルールの実行が終わるまでパラメータの変更は更新されません。必要な場合には、次のいずれかを使用して、即座にパラメータの変更が反映されるように強制することができます。
ルールを作成または編集するとき、ルールのテキストは有効な VB.NET コードに変換されて、コンパイルされます。一部の Inventor パラメータ名は、VB.NET の変数名として有効ではありません。すべての Inventor パラメータ名を使用できるようにするために、iLogic では、Inventor パラメータの新しい変数名を内部的に置換します。
Visual Basic のキーワードはパラメータ名として使用できますが、新しいドキュメントで使用することはお勧めできません。ただし、ルールを既存のドキュメントに追加するときには、多くの場合パラメータ名を変更する必要はありません。ある名前がキーワードと同一で、そのキーワードがルール内で必要な場合には、次の方法で対処できます。
ルール テキストは内部で有効な VB.NET コードに変換されます。このコードは非表示で、ルールと一緒に保存されます。この保存方法の場合、ルールを実行するたびに iLogic によってコードを生成する必要がありません。コードは、ルールを編集したときにのみ変更されます。
VB コンパイラのエラー メッセージは、実際にはこの内部コードを参照しています。まれに、一部の複雑なコードで、ルールのコードに対応しないエラーが通知される場合があります。このような状況が生じた場合には、コードを単純化してください。必要に応じて、Sub Main() および End Sub ステートメントが記述されていることを確認してください。
コンパイルの際、ルールが有効な VB.NET コードへ変換されるとき、変換係数によって単位が置き換えられます。
Inventor の単位は、標準の Inventor パラメータの計算式と同様に、ルール内で使用することができます。
この例では、パーツ ファイルでドキュメント単位にインチが使用されています。
d0 = 4.5 in d18 = 7.2 in sum = d0 + d18MessageBox.Show(sum,”Document Units - Inches”)
特に指定がない限り、iLogic では、数値の単位がドキュメント単位として定義されているものと仮定されます。この場合は、合計が 11.7 になります。メッセージ ボックスに値が表示され、ドキュメント単位がインチで表現されていることが示されます。
パラメータ d18 に値として 7.2 in ではなく 7.2 mm を割り当てるには、d18 をミリメートルで表現するように指定します。
d0 = 4.5 in d18 = 7.2 mm sum = d0 + d18 MessageBox.Show(sum,”Document Units - Inches”)
この場合は、合計が 4.78346456692913 になります。メッセージ ボックスに値が表示され、ドキュメント単位がインチで表現されていることが示されます。
前の計算をドキュメント単位がミリメートルのパーツ ファイルに対して実行するには、インチで表現されたパラメータにインチ単位を指定します(例、d0 = 4.5 in)。
最後に、ステートメントで長さの単位を省略した場合には、ドキュメント単位の値が使用されます。
この例では、パーツ ファイルでドキュメント単位にインチが使用されています。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 の値が表示され、パラメータ エディタで単位が混在して定義されていることが示されます。
単位の指定は、他の数値演算が実行される前に適用され、他のすべての演算子よりも優先されます。単位名は次の点に注意して使用してください。
次の例は、単位名の有効な使用方法を示しています。
12 in 144 in 144 in^2 125.2 mm 60 mi/hr
ルール内では単位の混在指定が可能です。単位の混在指定には、Inventor の形式を使用します。複雑な単位指定をルールに導入するには、[パラメータ]ダイアログ ボックスで計算式を作成します。次に、ルール エディタで、そのパラメータに[現在の状態を取り込む]を使用します。
外部ルールは、iLogic ルールか、手動で実行する小さなプログラム(VBA マクロなど)として使用することができます。これらはテキストまたは VB ファイルとして Inventor ドキュメント(パーツ、アセンブリ、または図面)の外部に保存します。これらは手動で実行するか、他のルールから実行できます。
外部ルールの一覧を iLogic ブラウザで表示するとき、開いているドキュメントに関係なく一覧の内容は同じになります。個別のドキュメントには、関連付けられていません。
また、外部ルールは、イベント駆動ルールとして実行することもできます。
iLogic にはいくつかのウィザードが用意されており、特定のタスクについて高度なルールを作成するために使用することができます。これらのウィザードは、[ルールの編集]ダイアログ ボックスの[ウィザード]タブにあります。
カスタム ユーザ インタフェースを作成し、Inventor のパーツ、アセンブリ、または図面ドキュメントのパラメータ、プロパティ、およびルールに接続します。
ドラッグ アンド ドロップにより、プログラミングを行わずにユーザ インタフェースを設計します。コントロールを使用して、既存の設計への変更を行うことができます。フォームの定義はドキュメント固有に設定でき、設計ドキュメントとして保存、または複数のドキュメントで使用するために保管できます。