Neueste Meldungen
Rhino, Grasshopper und Archicad verbinden: Leitfaden für parametrische BIM-WorkflowsBlender: View Layer und Render-Passes in der ArchitekturvisualisierungRhino-Worksession-Leitfaden: Mit Referenzdateien in großen Projekten arbeitenDas erste Skript mit Rhino Python: Linien zeichnen und automatisierenUnreal Engine 5 Virtual Shadow Maps: Schatten in ArchitekturvisualisierungenBlender 5.2 LTS Shape Keys: Relative und Absolute im ÜberblickHoudini PDG/TOPs: Variationen und Render-Workflow mit WedgeGeometrie mit Blender Geometry Nodes wiederholt auf Punkten platzierenLiving Archive: Der Keller eines alten Kraftwerks in Berlin öffnet für die ÖffentlichkeitNVIDIA RTX Spark im Verkauf: Für lokale KI und Content-Erstellung
TutorialsRhinoOMARhino.Python

Das erste Skript mit Rhino Python: Linien zeichnen und automatisieren

Erfahren Sie, wie Sie im ScriptEditor von Rhino ein Python-Skript erstellen und eine Linie zwischen zwei Punkten zeichnen. Der Leitfaden behandelt auch die Auswahl der Python-Umgebung, das Debuggen und Paketanforderungen.

Massenmodell in einem Architekturstudio, Zeichenpapier und ein Laptop, dessen Bildschirm nicht zu sehen istKI-Bild
Symbolbild, mit KI erzeugt.Bild: 3dsınıfı / FCA AI

Kurz gesagt

  1. Mit dem Befehl ScriptEditor lässt sich der Python-Skripteditor in Rhino öffnen.
  2. Beim Erstellen eines neuen Skripts können Sie Python 3 auswählen und den Code über Run > Run ausführen.
  3. Rhino bietet CPython-basiertes Python 3 und IronPython-basiertes Python 2 als separate Umgebungen an.
  4. PyPI-Pakete lassen sich über den ScriptEditor installieren und im Skript als Abhängigkeiten angeben.

Was lernen Sie in diesem Leitfaden?

Dieser Leitfaden zeigt, wie Sie ein kleines Python-Skript erstellen, das in Rhino ausgeführt wird. Zunächst öffnen wir im ScriptEditor eine neue Datei und erstellen ein Beispiel, das zwei Punkte abfragt und eine Linie zwischen ihnen zeichnet. Anschließend geht es um das Ausführen des Skripts, das Debuggen, die Auswahl der Python-Umgebung und die Verwaltung von Paketabhängigkeiten.

Das Beispiel nutzt Funktionen aus Rhinos rhinoscriptsyntax. Ziel ist nicht, ein umfangreiches Werkzeug zu entwickeln, sondern den grundlegenden Ablauf eines Skripts kennenzulernen, das Benutzereingaben entgegennimmt und Geometrie in Rhino erzeugt. Dieser Einstieg kann später als Grundlage dienen, um wiederkehrende Modellierungsschritte zu automatisieren.

Voraussetzungen und Versionsauswahl

Der Workflow läuft in Rhino und dessen ScriptEditor. Geben Sie in der Befehlszeile ScriptEditor ein, um den Editor zu öffnen. Beim Erstellen eines neuen Skripts können Sie über File > New Python 3 auswählen. In den Quellen werden für diese Arbeit keine zusätzlichen Konto-, Kosten- oder speziellen Hardwarevoraussetzungen genannt.

Rhinos Python-Optionen werden als separate Implementierungen und nicht als unterschiedliche Versionen derselben Engine angeboten. Der Leitfaden beschreibt Python 3 als CPython und Python 2 als IronPython. Python 3 kann PyPI-Pakete verwenden. Für manche Skripte, die stark auf RhinoCommon-Aufrufe setzen oder .NET-Multithreading nutzen müssen, kommt Python 2 infrage. Die Entwicklerdokumentation empfiehlt Python 3 als Ausgangspunkt für die meisten neuen Skripte.

Beachten Sie beim Lesen der Versionsnummern auch den Stand der Quellen. Der 2025 aktualisierte allgemeine Rhino.Python-Leitfaden nennt Python 3.9.11 für Rhino 8 und IronPython 2.7.12 für Rhino 7. Die 2026 aktualisierte ScriptEditor-Dokumentation beschreibt die Umgebungen, nennt diese Nummern jedoch nicht. Prüfen Sie daher am besten zunächst, welche Optionen im Editor Ihrer installierten Rhino-Version verfügbar sind.

Das erste Skript erstellen

  1. Führen Sie in der Rhino-Befehlszeile den Befehl ScriptEditor aus. Sobald sich der Editor öffnet, wählen Sie File > New und anschließend Python 3. Im ScriptEditor wird angezeigt, welche Sprache und Umgebung die bearbeitete Datei verwendet.

  2. Fügen Sie den folgenden Code in das neue Skript ein:

python
import rhinoscriptsyntax as rs

first_point = rs.GetPoint("Çizginin başlangıç noktası")
if first_point:
    second_point = rs.GetPoint("Çizginin bitiş noktası")
    if second_point:
        rs.AddLine(first_point, second_point)

Der Code fordert Sie zunächst auf, den Startpunkt und danach den Endpunkt in Rhino auszuwählen. Sobald beide Punkte ausgewählt sind, wird eine Linie zwischen ihnen erstellt. Wird einer der Punkte nicht ausgewählt, wird keine Linie hinzugefügt. Die Funktionsnamen im Beispiel verwenden Rhinos rhinoscriptsyntax-Schnittstelle.

  1. Führen Sie das Skript über Run > Run aus und wählen Sie die angeforderten Punkte im Rhino-Viewport aus. Sie können die Datei mit der Endung .py speichern. Über File > New From Template im Editor lässt sich auch eine neue Datei auf Grundlage einer Vorlage erstellen.

  2. Beobachten Sie zunächst in diesem kleinen Beispiel die Ergebnisse der einzelnen Schritte. Anschließend können Sie denselben Ansatz auf wiederkehrende Auswahl- und Geometrieaufgaben übertragen. Rhino.Python unterstützt unter anderem interaktive Skripte, benutzerdefinierte Befehle und die Geometrieerzeugung mit Algorithmen. Das Beispiel hier zeigt jedoch nur die Abfrage von Punkten und das Erstellen einer Linie.

Ausführen, Debuggen und die Python-Engine

Ein Skript muss nicht jedes Mal direkt im Editor gestartet werden. Laut dem Rhino-Entwicklerleitfaden kann der ScriptEditor gespeicherte Dateien über die Rhino-Befehlszeile, ein Makro, eine Symbolleistenschaltfläche oder einen Alias ausführen. Je nach Nutzung lässt sich ein Skript also an verschiedene Startpunkte in Rhino anbinden. Wenn Sie Code direkt in ein Makro schreiben, fügen Sie eine Sprachkennung hinzu, damit Rhino die richtige Engine auswählen kann.

Die Python-Umgebung, in der eine Datei geöffnet wird, hängt mit der Dateiendung und der Kennzeichnung im Skript zusammen. #! python 3 oder #! python 2 gibt die jeweilige Engine an; auch die Endungen .py3 und .py2 verweisen auf eine bestimmte Umgebung. Bei normalen .py-Dateien wird die vom Skript angeforderte Umgebung berücksichtigt. Wenn eine Datei unerwartet ausgeführt wird, sollten Sie diese Zuordnung überprüfen.

Wenn das Skript an einer bestimmten Zeile anhalten und Variablen anzeigen soll, setzen Sie einen Breakpoint, indem Sie neben der betreffenden Zeile in den freien Bereich klicken. Starten Sie anschließend das Debugging über Run > Debug. Sobald das Skript angehalten wurde, können Sie schrittweise durch den Code gehen und Variablen in den entsprechenden Panels untersuchen. Ohne gesetzten Breakpoint ist die Option Debug nicht verfügbar.

Pakete und mögliche Fehlerquellen

Um PyPI-Pakete zu Python-3-Skripten hinzuzufügen, können Sie im ScriptEditor-Panel die Option Install Package verwenden. Dort lässt sich nach einem Paket suchen oder dessen Name und Version eingeben. Wenn die Paketinformationen im Skript enthalten sein sollen, prüfen Sie, ob Add Package Reference to Script aktiviert ist. Laut Entwicklerleitfaden können Sie damit benötigte Pakete im Skripttext angeben.

Paketabhängigkeiten lassen sich auch mit mehreren Namen aufführen. Die folgende Zeile listet beispielsweise die Pakete numpy und requests auf:

python
#requirements: numpy, requests

Nach der Installation von Paketen oder bei Änderungen an importierten Modulen kann es erforderlich sein, die entsprechende Python-Engine neu zu laden. Dafür stehen im ScriptEditor die Optionen Tools > Reload Python 3 (CPython) Engine und Tools > Reload Python 2 (IronPython) Engine zur Verfügung. Laut Leitfaden muss Rhino dafür nicht neu gestartet werden.

Wenn ein Skript nicht funktioniert, überprüfen Sie zunächst, ob die Datei mit der ausgewählten Python-Engine kompatibel ist und was die Dateiendung oder Sprachkennung angibt. Bei einer Datei, die Pakete verwendet, prüfen Sie, ob die Abhängigkeiten im Skript angegeben sind. Die Quellen bezeichnen diese Punkte nicht ausdrücklich als häufige Fehlerursachen; sie sind jedoch mögliche Ansatzpunkte bei der Fehlersuche. Setzen Sie beim Debuggen zunächst einen Breakpoint und wählen Sie anschließend Debug.

Nächste Schritte

Code, den Sie in mehreren Skripten verwenden möchten, können Sie in ein separates Modul auslagern und aus anderen Dateien importieren. Damit Rhino dieses Modul findet, muss sich dessen Ordner in den Suchpfaden befinden. Diese Ordner sind unter Options im Bereich Module Search Paths aufgeführt. Der Entwicklerleitfaden erwähnt außerdem die Möglichkeit, einen Pfad über eine .pth-Datei hinzuzufügen.

Für fortgeschrittene Anwendungen können Skripte auf RhinoCommon zugreifen. Python 3 ermöglicht diesen Zugriff über Python.NET, während Python 2 auf .NET läuft. Python lässt sich auch in Grasshopper verwenden; für Komponenten und den Editor-Workflow gibt es jedoch einen eigenen Grasshopper-Python-Leitfaden. Legen Sie daher für den nächsten Schritt fest, ob Sie ein eigenständiges Skript in Rhino oder eine benutzerdefinierte Komponente innerhalb einer Grasshopper-Definition erstellen möchten.

Quellen und Lizenz

Der Inhalt wurde auf Grundlage der McNeel-Entwicklerleitfäden „Scripting: Python“ (K1) und „What is Rhino.Python?“ (K2) eigenständig auf Türkisch adaptiert. In den Quellenangaben ist die Lizenzklassifizierung als „frei“ aufgeführt. Auf den Seiten finden sich jedoch ein Copyright-Hinweis und der Vermerk „All Rights Reserved“; eine konkrete Open-Source-Lizenz wird nicht genannt.

Quellen

2 Quellen
D
developer.rhino3d.comdeveloper.rhino3d.com/guides/scripting/scripting-python
Zusammenfassung
D
developer.rhino3d.comdeveloper.rhino3d.com/guides/rhinopython/what-is-rhinopython
Zusammenfassung

Quelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.

Die Einschätzung von 3dsınıfı
3dEinschätzung der Redaktion

Für Architekturbüros und Studierende, die in Rhino dieselben Auswahl- und Geometrieschritte wiederholen, bietet Python einen praktischen Einstieg in kleinere Automatisierungen. Das Beispiel beschränkt sich auf die Auswahl von Punkten und das Erstellen einer Linie, zeigt aber anschaulich, wie ein Skript in Rhino wirkt und wie sich Fehler debuggen lassen.

Für Teams in der Türkei ist es wichtig, vor einer Erweiterung des Umfangs die Python-Umgebung der vorhandenen Rhino-Installation und die benötigten Pakete zu prüfen. Da die Quellen keine Angaben zu Preisen, Hardwarevoraussetzungen oder Lizenzkosten enthalten, sollten hierzu keine Annahmen getroffen werden. Beim Wechsel zu RhinoCommon oder Grasshopper ist außerdem zu berücksichtigen, dass dafür unterschiedliche Workflows gelten.

Häufige Fragen

Wie führt man ein Python-Skript in Rhino aus?

Führen Sie in der Befehlszeile den Befehl ScriptEditor aus, erstellen Sie ein neues Skript und wählen Sie Run > Run. Skriptdateien lassen sich auch über die Befehlszeile, ein Makro, eine Symbolleiste oder einen Alias starten.

Verwendet Rhino Python 3 oder Python 2?

Die Entwicklerleitfäden beschreiben in Rhino eine CPython-basierte Python-3- und eine IronPython-basierte Python-2-Umgebung. Python 3 kann PyPI-Pakete verwenden; die Wahl der Engine hängt von den Anforderungen des Skripts ab.

Wie fügt man einem Rhino-Python-Skript ein PyPI-Paket hinzu?

Über die Option Install Package im ScriptEditor-Panel können Sie nach einem Paket suchen oder dessen Namen und Version eingeben. Mit Add Package Reference to Script lassen sich Paketabhängigkeiten im Skript angeben.

Kommentare und Forum sind auf Türkisch.Mitdiskutieren
+

Verwandte Meldungen