Verwenden eines einfachen dynamischen Regelreaktors

Nehmen wir jetzt an, wir möchten jedes Mal einen Stift (Zylinder) hinzufügen, wenn wir ein Kettenglied hinzufügen. Natürlich ließe sich dies über eine Baugruppe aus Stift und Zylinder umsetzen, doch so lägen weder (a) alle Stifte und Kettenglieder als gleichgeordnete Elemente vor, noch (b) könnten wir einen bestimmten Stift löschen, wenn wir ihn nicht mehr benötigen.

Deshalb fügen wir die folgende Methode zum Kettenglied-Design hinzu:

<%%categoryOrder ("Inventor Parameters,Inventor"), _
 %%OpenCategories ("Inventor Parameters")> _
Design link : DynamicRuleReactorExampleAdoptedComponents linkAdopt

    Method preCreateSelf() As List
        Dim result As List
        result = {{:action, :createDynamicPart, _
                   :Part, Parent, _
                   :Name, makeName(partName & "_pin"), _
                   :Design, "IvCylinder", _
                   :diameter, "linkHoleDia * 0.95", _
                   :length, "linkThickness * 2.05"} _
                 }

        Return result

    End Method

End Design

Fügen Sie nun über Untergeordnetes Element hinzufügen ein neues Kettenglied hinzu, um die Methode zu testen. Legen Sie im Dialogfeld Parameter holeDia auf linkHoleDia und thickness auf linkThickness fest.

Nun sind ein Kettenglied und außerdem ein Stift eingefügt. Der Stift scheint jedoch zu lang zu sein.

Da der Stift ein normales Intent Bauteil ist, können wir uns die Parameter ansehen, um das Problem zu untersuchen.

Offensichtlich liegt für height noch der Vorgabewert 1 vor und keine Funktion von linkThickness. Betrachten wir die Methode erneut.

Hier liegt das Problem. Der Zylinder verfügt nicht über einen Parameter length. Wir müssen also height festlegen.

Anmerkung: Eine weiterer Trick zur Fehlerbehebung besteht darin, einfach die event-handler-Methode aus dem Fenster Sofort aufzurufen und die Ausgabe zu prüfen. Das hat kein konkretes Ergebnis zur Folge, doch Ihnen werden die Aktionen angezeigt, die es programmbedingt ausführt, wenn das Ereignis eintritt. Achten Syntaxfehler in den generierten Formeln.

Der vorhandenen Stift bleibt, was er ist. Somit wirken sich die Korrekturen an der Reaktorregel nicht auf ihn aus. Wir müssen ein weiteres Kettenglied erstellen, um dies zu erreichen. Zunächst löschen wir das bestehende Kettenglied und den Stift. Beachten Sie, dass wir das Kettenglied und den Stift unabhängig voneinander löschen müssen:

Löschen Sie jetzt auch den Stift zu (nicht angezeigt).

Prüfen Sie das Ereignis erneut, indem Sie ein weiteres Kettenglied mit demselben Verfahren wir zuvor hinzufügen. Dieses Mal erhält der Stift die richtige Formel für height.

Mit diesem Mechanismus müsste der Benutzer manuell Abhängigkeiten zwischen den Stiften und Kettengliedern manuell erstellen und zusätzliche Stifte manuell löschen.

Weiter zu Erstellen und Verwenden eines "intelligenten" Stifts