Intent 言語では、すべての計算はルールを参照した結果です。
ルールの値は、ルールが最初に参照されたときに計算されます。通常、この値は保存され、今後の参照用として返されます。この形式の計算は、要求駆動方式評価と呼ばれます。計算とルール評価は、必要な場合にのみ行われます。
次の例では、子ルールは名前によってデザインを明示的に参照します。
Child leg As :smallSupport End Child
この場合、アセンブリの脚パーツのインスタンスは常にデザイン:smallSupport の属性を持ちます。
設定可能なアセンブリには、デザインの要件に基づいて、追加のコンポーネントまたは代替のコンポーネントを指定する必要があります。たとえば、ユーザの指定したパラメータの値に応じて、2 つの脚のデザインのうちいずれかを選択します。
子ルールを使用して 2 つ(またはそれ以上)のデザインの中から選択できます。前のセクションで、子の脚のすべてのインスタンスは:smallSupport デザインに基づいていました。しかし、荷重要件でより頑丈な脚のデザインの使用が保証されている場合もあります。
次の例では、ユーザの指定した荷重パラメータに基づいて 2 つのデザインのうちいずれかを選択します。
Child leg As (If load > 200 Then :largeSupport Else :smallSupport) End Child
次の例では、荷重パラメータが 200 を超えている場合、デザイン:centerSupport に基づいて子が作成されます。荷重が 200 の値を超えていない場合、子は作成されません。
Child stiffener As (If load > 200 Then :centerSupport Else :nullDesign) End Child
複数のデザインから選択するには、まず使用するデザインを決定する別のルールを作成します。
Rule legName As Name If load <= 50 Then legName = :nullDesign ElseIf load <= 200 Then legName = :smallSupport ElseIf load <= 350 Then legName = :mediumSupport Else legName = :largeSupport End If End Rule
次に、作成したルールを参照して、指定された荷重パラメータ値に適切なサポート デザインを選択します。
Child leg As legName End Child