子ルールは、デザイン内の子を定義する特別なルールです。子ルールが評価されるときは、1 つまたは複数の子パーツがインスタンス化されます。子ルールはデータ タイプ指定を必要としません。[数量]指定(任意指定)に応じて、タイプ パーツまたは一覧タイプになります。
Child <name> As <DesignNameExpression> [, <Quantity = Expression>] <ParameterAssignmentList> End Child
子ルールが評価されるときは、デザイン名の式と数量の式のみが評価されます。パラメータ割り当ての式は、パラメータが要求されるまでは評価されません。パラメータ割り当ての一覧はステートメント ブロックではなく、フロー制御ステートメントを記述することはできません。
次の例では、子ルールの構文を示しています。
デザイン名の式は有効なデザインの名前を返す必要があります。最も単純な式では、コロン + 識別子(:SquareTube など)を使用して名前を返します。デザイン名をより複雑な式で指定することもできます。この式は子が存在する前に評価されるため、パラメータ割り当てと異なり子の中の要素を参照することはできません。
任意指定の整数値である[数量]は、存在する場合、[数量]の式が 1 と評価されても、ルールが子 の一覧であることを示します(「子の一覧」を参照)。[数量]の指定がない場合、子ルールはタイプ パーツです。
パラメータ値を変更することでパーツを修正できます。設定の異なるパーツがさらに 2 つ必要な場合は、2 つの個別の子ルールが書き出されます。以下で、Support および crossMember の子は :SquareTube デザインのインスタンスです。異なる値が cut2 および長さパラメータのそれぞれの子に指定されます。
Child Support As :SquareTube size = tubingSize cut1 = 0 cut2 = 1 length = height - footThickness End Child Child crossMember As :SquareTube size = tubingSize cut1 = 0 cut2 = 0 length = width - (tubingSize * 2) End Child
子ルールでサポートされる唯一のフラグは Fixed です。Fixed フラグは、ルールを動的に上書きできないことを示します。同じ名前の動的ルールを追加しようとすると、エラーが生成されます。