Untergeordnete Regeln

Eine untergeordnete Regel ist eine spezielle Regel, die ein innerhalb eines Designs untergeordnetes Element definiert. Durch die Auswertung einer untergeordneten Regel werden ein oder mehrere untergeordnete Bauteile instanziiert. Für untergeordnete Regeln ist keine Datentypspezifikation erforderlich. Je nach optionaler Mengenangabe handelt es sich hier immer um den Typ Bauteil oder Liste.

Syntax

Child <name> As <DesignNameExpression> [, <Quantity = Expression>]
   <ParameterAssignmentList>
End Child

Bei der Auswertung einer untergeordneten Regel werden nur die Ausdrücke für den Designnamen und die Menge ausgewertet. Die Parameterzuweisungsausdrücke werden erst ausgewertet, wenn diese explizit verlangt werden. Diese Parameterzuweisungsliste ist kein Anweisungsblock, und sie enthält möglicherweise auch keine Steuerungsflussanweisungen.

Anmerkung: Die Zuweisung zu Elementen, die keine Parameter sind, oder gar zu Kennungen, die keine Regeln des untergeordneten Elements sind, wird nicht als Fehler gewertet.

Das folgende Beispiel zeigt die Syntax einer untergeordneten Regel.

Anmerkung: In einer untergeordneten Regel können keine lokalen Variablen deklariert werden.

Ausdruck für den Designnamen

Der Ausdruck für den Designnamen muss den Namen eines gültigen Designs zurückgeben. Der einfachste Ausdruck für die Rückgabe eines Namens ist ein Doppelpunkt vor einer Kennung (z. B. :SquareTube). Der Designname kann aber auch durch einen komplexeren Ausdruck angegeben werden. Dieser Ausdruck wird noch vor der Erstellung des untergeordneten Elements ausgewertet, er darf also mit Ausnahme von Parameterzuweisungen auf kein Element innerhalb des untergeordneten Elements verweisen.

Mengenausdruck

Eine optionale Ganzzahl als Mengenangabe legt fest, dass es sich bei der Regel um eine untergeordnete Liste handelt (siehe Liste untergeordneter Elemente), selbst wenn die Mengenangabe 1 ergibt. Ohne Mengenangabe handelt es sich um eine untergeordnete Regel des Typs Bauteil.

Parameter in untergeordnete Regeln

Bauteile können durch Änderung von Parameterwerten geändert werden. Wenn Sie zwei Bauteile mit unterschiedlichen Konfigurationen benötigen, müssen Sie zwei separate untergeordnete Regeln erstellen. Im nachfolgenden Beispiel sind die untergeordneten Elemente Support und crossMember beides Exemplare des Designs :SquareTube. In beiden untergeordneten Elementen sind jeweils andere Werte für die Parameter cut2 und length angegeben.

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

Unterstützte Flags

Das einzige in untergeordneten Regeln unterstützte Flag ist Fixed. Das Flag Fixed legt fest, dass die Regel nicht dynamisch überschrieben werden kann. Der Versuch, eine dynamische Regel mit dem gleichen Namen hinzuzufügen, führt zu einem Fehler.