Erweitern des Reaktors für dynamische Regeln

Da es häufig vorkommt, dass ein neues Kettenglied mit dem vorherigen verknüpft wird, kann auch dieses Verhalten implementiert werden. Wir beginnen mit dem Hinzufügen einer lastLink-Regel zum übergeordneten Design:

Design Chain : DynamicRuleReactorExampleRoot IvAssemblyDocument

    Parameter Rule linkHoleDia As Number = 0.375
    Parameter Rule linkThickness As Number = 0.250
	
    Parameter Rule lastLink As Part = NoValue
	
End Design
Als Nächstes ändern wir die Reaktorregel im Kettenglieddesign:
  1. Legen Sie link1 auf das letzte Kettenglied fest, sofern eines vorhanden ist.
  2. Legen Sie onRight? ordnungsgemäß fest, sodass die Kettenglieder alternieren.
  3. Fügen Sie eine zweite Aktion zum Aktualisieren der lastLink-Regel hinzu.
    Method preCreateSelf() As List
        Dim result As List
        result = {{:action, :createDynamicPart, _
                    :Part, Parent, _
                    :Name, uniqueName("smartPin"), _
                    :design, "smartPin", _
                    :link1, (If lastLink = NoValue Then "NoValue" Else MakeString(lastLink.partName)), _
                    :link2, MakeString(partName), _
                    :onRight?, stringValue(odd?(countPartsOfType(:link)))}, _
                  {:action, :createDynamicRule, _
                    :Part, Parent, _
                    :Name, :lastLink, _
                    :formula, MakeString(partName)}_
                 }
        Return result
    End Method

Beim Hinzufügen von Kettengliedern werden diese automatisch verbunden und wechseln die Seiten:

Da lastLink eine dynamische Regel ist, ist sie in allen Sitzungen verfügbar.