Der Paketmanager wurde in Rhino 7 eingeführt. Er erleichtert das Entdecken, Installieren und Verwalten von Grasshopper-Plug-ins aus Rhino heraus. Diese Anleitung beschreibt, wie man ein Paket aus einem Grasshopper-Plug-in erstellt, das auf dem Paketserver veröffentlicht werden kann.
"/Applications/Rhino 8.app/Contents/Resources/bin/yak".Nehmen wir zunächst an, dass Sie einen Ordner auf Ihrem Computer haben, in dem alle Dateien enthalten sind, die Sie in Ihrem Paket verteilen möchten. Etwa so…
C:\Benutzer\Bozo\dist
├── Marmoset.gha
├── icon.png
└── misc\
├── README.md
└── LICENSE.txt
Wir werden das Yak CLI Tool verwenden, um das Paket zu erstellen, öffnen Sie also eine Befehls-Eingabeaufforderung und navigieren Sie zu dem oben genannten Verzeichnis.
> cd C:\Benutzer\Bozo\dist
Jetzt brauchen wir eine Datei manifest.yml! Sie können leicht Ihre eigene erstellen, indem Sie
den Leitfaden der Manifest-Referenzen studieren. Alternativ können Sie den Befehl spec verwenden
um eine Skelettdatei zu erzeugen. Wir werden hier Letzteres tun.
> "C:\Programne\Rhino 8\System\Yak.exe" spec
Inspecting content: Marmoset.gha
---
name: marmoset
version: 1.0.0
authors:
- Park Ranger
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: https://example.com
Saved to C:\Benutzer\Bozo\dist\manifest.yml
Der Befehl spec sieht sich das aktuelle Verzeichnis an und wird, falls vorhanden, nützliche
Informationen aus der Baugruppe “gha” zu gewinnen versuchen und daraus eine
mit Name, Version, Autoren usw. vorausgefüllte manifest.yml erstellen. Wenn Sie diese
Informationen noch nicht hinzugefügt haben, werden Platzhalter verwendet.
spec ist nützlich für die Erzeugung der
manifest.yml-Datei zu Beginn. Wenn Sie eine haben, bewahren Sie sie zusammen mit Ihrem Projekt auf und
aktualisieren Sie sie bei jeder Veröffentlichung.Öffnen Sie die Manifestdatei mit Ihrem Lieblingseditor und füllen Sie die Lücken aus.
Danach sollten Sie etwas haben, das in etwa so aussieht…
---
name: marmoset
version: 1.0.0
authors:
- Park Ranger
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: https://example.com
icon: icon.png
keywords:
- mammal
Jetzt, da wir eine Manifestdatei haben, können wir das Paket erstellen!
> "C:\Programme\Rhino 8\System\Yak.exe" build
Building package from contents of C:\Benutzer\Bozo\dist
Found manifest.yml for package: marmoset (1.0.0)
Inspecting content: Marmoset.gha
Creating marmoset-1.0.0-rh6_18-any.yak
---
name: marmoset
version: 1.0.0
authors:
- Will Pearson
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: example.com
keywords:
- mammal
- guid:c9beedb9-07ec-4974-a0a2-44670ddb17e4
C:\Benutzer\Bozo\dist\marmoset-1.0.0-rh6_18-any.yak
├── Marmoset.dll
├── Marmoset.gha
├── manifest.yml
├── misc\LICENSE.txt
└── misc\README.md
rh6_18-any). Der erste Teil, rh6_18, wird von der Version von Grasshopper.dll oder Rhinocommon.dll abgeleitet, die im Plug-in-Projekt referenziert wird. Der zweite Teil, any, bezieht sich auf die Plattform, für die das Plug-in bestimmt ist. Um ein plattformspezifisches Paket zu erstellen, führen Sie den Befehl build erneut mit dem Argument --platform <platform> aus, wobei <platform> entweder win oder mac sein kann.rh6* Distribution Tag veröffentlichen, ist es nicht für Rhino 7 installierbar. Wenn Ihr Plug-in auch in Rhino 7 funktioniert, markieren Sie es bitte als kompatibel, indem Sie die .yak-Datei kopieren, den Teil des Dateinamens im Distribution Tag aktualisieren (also rh6_18 ➡ rh7_0) und beides auf den Paketserver pushen.Herzlichen Glückwunsch! 🙌 Sie haben gerade ein Paket für Ihr Grasshopper-Plug-in erstellt.
Weitere Schritte:
Nachdem Sie nun ein Paket erstellt haben, pushen Sie es auf den Paketserver, damit es Im Paketmanager verfügbar ist!
