AdditionalParameters パラメータ

AdditionalParameters は、子ルールの設計に使用できる特別なパラメータです。

値は Name と Value のペアの一覧です。これらのペアは、子の作成のために指定される "追加" パラメータの名前と値を含みます。additionalParameters は実行時に指定するパラメータのセットを選択する場合に使用します。

次の例では、条件付きで additionalParameters を指定します。a > b の場合、子 b1 はブロックであり、長さおよび幅のパラメータが指定されます。それ以外の場合は、子 b1 は円柱であり、直径パラメータが指定されます。

Child b1 as (if (a > b) then :IvBlock else :IvCylinder)
   height = 42
   additionalParameters = (if (a > b) then { :length, 2, :width, 2} else {:diameter, 2})
End Child

または、これは無条件に行うこともできます。関連するパラメータだけが指定されます。たとえば、直径は b1 が円柱の場合にのみ指定されます。

Child b1 as (if (a > b) then :IvBlock else :IvCylinder)
   height = 42
   length = 2
   width = 2
   diameter = 2
End Child

通常のパラメータとは異なり、additionalParameters 一覧全体は、パーツの作成時に評価されます。下の例では、b1.height が要求されたときではなく、子 b1 の作成後すぐに 3 + 4 が評価されます。

Child b1 as :IvBlock
   additionalParameters = { :length, 1, :width, 2, :height, 3+4}
End Child