So funktioniert Hops

Der Kommunikationsprozess zwischen Hops und einem Hops-kompatiblen Server ist etwas komplizierter als das einfache Senden und Empfangen einer einzelnen http-Anfrage und -Antwort. Der erste Schritt des Prozesses besteht darin, dass Hops die referenzierte Grasshopper-Definition bündelt und eine http-Anfrage an einen Endpunkt des Servers sendet.

Ein Endpunkt ist eine URL-Adresse, unter der der Server erreicht werden kann, um eine bestimmte Funktion auszuführen. In dieser Anfrage öffnet der Server die von Hops gesendete Grasshopper-Definition und bestimmt, welche Informationen benötigt werden, um die Ein- und Ausgänge für die Hops-Komponente zu füllen. Der Endpunkt wird also /io (kurz für Input Output) genannt.

https://developer.rhino3d.com/images/hops_io_request.png

Die Komponente Hops sollte nun über genügend Informationen verfügen, um die erforderlichen Ein- und Ausgangsknoten für sich selbst zu erstellen.

https://developer.rhino3d.com/images/hops_get_inputs.png

Wenn alle Hops-Eingaben mit den Quellparametern verbunden wurden, wird eine weitere http-Anfrage an den Server gesendet - nur dieses Mal an den Endpunkt /solve. Die Grasshopper-Definition muss nicht erneut gesendet werden, da sie während des /io-Prozesses auf dem Server gespeichert wurde. Stattdessen enthalten die in der /solve-Anfrage gesendeten Daten nur eine Zeiger-ID, die dem Server mitteilt, wo er die richtige Datei und alle Eingabedaten finden kann.

Die http-Antwort des Servers enthält alle Daten, die beim Ausführen der Grasshopper-Datei auf herkömmliche Weise zurückgegeben werden würden.

https://developer.rhino3d.com/images/hops_return_results.png

Um besser zu verstehen, wie jeder der obigen Schritte funktioniert, können Sie die letzte http-Anfrage und -Antwort für die Endpunkte /io und /solve direkt aus der Komponente Hops exportieren.

https://developer.rhino3d.com/images/hops_export_requests.png