Übersicht
Zunächst ist dies weniger eine Anleitung für Entwickler als vielmehr eine Beschreibung der Funktionsweise, damit Sie als Entwickler besser verstehen können, wie Ihr Paket und Ihr Plug-in eingerichtet werden müssen, um diese Funktion zu nutzen.
Es kann frustrierend sein, eine Grasshopper-Definition zu öffnen und dann festzustellen, dass die erforderlichen Plug-ins nicht auf dem System installiert sind. Der Paketmanager kann helfen, indem er den Prozess der Erfüllung dieser Abhängigkeiten rationalisiert.
Seit Rhino 6 bietet das Dialogfeld “Nicht erkannte Objekte” dem Benutzer die Möglichkeit, fehlende Plug-ins herunterzuladen und zu installieren. Diese Funktion wird als Paketwiederherstellung bezeichnet.

Die Paketwiederherstellung verwendet den Namen, die ID und die Version der fehlenden Plug-ins, um den Paketserver zu durchsuchen. Wenn Pakete der Suchanfrage entsprechen, werden sie installiert und, wenn möglich, vor dem Öffnen der Definition geladen1.
Anpassung
Benennung
Im Idealfall stimmen der Name des Grasshopper-Plug-ins und der des Pakets überein. Falls dies nicht möglich ist - entweder aufgrund der Beschränkungen des Paketnamen-Schemas2 oder aufgrund der Tatsache, dass es mehrere Plug-ins in einem Paket gibt, die jeweils einen anderen Namen haben - kann das richtige Paket auch anhand der Plug-in-ID identifiziert werden.
Für jede .gha-Datei wird die Plugin-ID extrahiert und der manifest.yml hinzugefügt, wenn Sie yak build ausführen.
Versionsnummern
Paketversionsnummern können entweder der Spezifikation Semantic Versioning 2.0.0 (SemVer) folgen oder sie können vierstellig sein3, wie in System.Version. Siehe den Paketserver-Leitfaden für weitere Details zu den erlaubten Versionsnummernformaten.
Der Server erlaubt sowohl SemVer als auch vierstellige Zahlen, da einige Grasshopper-Plug-ins ihre Versionsnummer als String in einer von GH_AssemblyInfo abgeleiteten Klasse angeben, während andere auf das AssemblyVersionAttribute zurückgreifen.
Wenn beim Wiederherstellen von Paketen ein Paket auf dem Server existiert, das entweder mit dem Namen oder der ID des fehlenden Plug-ins übereinstimmt, aber die genaue Version nicht existiert, wird die neueste stabile Version installiert.
-
Hinzugefügt in Grasshopper im Dezember 2019. Dynamisches Laden ist nur möglich, wenn noch keine andere Version der Grasshopper-Bibliothek installiert und geladen ist. Andernfalls muss Rhino neu gestartet werden, um die neue Version der Bibliothek zu laden. ↩︎
-
Paketnamen sind ziemlich strikt. Nur Buchstaben und Zahlen sowie Binde- und Unterstriche sind erlaubt. ↩︎
-
Unterstützung für vierstellige (
System.Version) Versionsnummern wurde in Yak 0.8 hinzugefügt. ↩︎
