子ルールの条件デザイン名

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
注: nullDesign については、「NullDesign: 特殊なケース」で説明しています。

複数のデザインから選択するには、まず使用するデザインを決定する別のルールを作成します。

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
注: デザイン名の式にコロン(:)が含まれていない場合は、明示的なデザイン名ではなくルールへの参照です。