Rhino-Scripting
Alle Rhino-Befehle können in den Befehlsskripten verwendet werden. Befehlsskripts können aufgerufen werden, indem der Befehl in der Eingabeaufforderung eingegeben wird, von Schaltflächen in der Werkzeugleiste, Tastenkürzeln
, Befehlsverweisen
aus, anhand des Befehls BefehlsdateiLesen
oder des Befehls Einfügen
in Rhinos Befehlsstrom.
Befehlsskripte schreiben
Schreiben Sie Befehlsskripte genau so, als würden Sie die Befehlsfolge in der Befehlszeile eingeben. Ein Leerzeichen zwischen Zeichen oder eine neue Linie verhalten sich so, als würden Sie die Eingabetaste
in der Befehlszeile verwenden.
Sonderzeichen
Zeichen |
Bedeutung im Skript |
! |
Durch ein Ausrufezeichen (!) und ein Leerzeichen am Anfang eines Skripts werden alle vorherigen Befehle gelöscht. An anderen Stellen wird das Skript abgebrochen. Das Ausrufezeichen kann wenn nötig am Ende des Skriptes verwendet werden. |
_ |
Ruft den Befehl als englischen Befehlsnamen auf. Rhino kann für verschiedene Sprachen lokalisiert werden. Die übersetzten Versionen werden Befehle, Eingabeaufforderungen, Befehlsoptionen, Dialogfenster, Menüs, etc., in den entsprechenden Sprachen übersetzt haben. Englische Befehle werden in diesen Versionen nicht funktionieren. Damit alle auf Englisch geschriebenen Skripte auf allen Computern funktionieren (ungeachtet der Sprache), müssen die Skripte Rhino zwingen, alle Befehle als englische Befehlsnamen zu interpretieren. Zum Beispiel: In der englischen Version von Rhino 3.0 funktioniert folgendes Skript: Circle 3Point 0,0,0 1,1,0 0,3,0 Aber in der deutschen Version von Rhino 3.0 funktioniert es nicht. Sie benötigen stattdessen eines von folgenden Skripten: Kreis 3Punkte 0,0,0 1,1,0 0,3,0 Um sicherzugehen, dass die Skripte weltweit funktionieren, schreiben Sie sie auf Englisch und setzen Sie einen Unterstrich (_) vor alle Befehlsnamen und Optionen. |
- |
Alle Befehle sind nun an der Befehlszeile skriptfähig (sogar Befehle, die standardmäßig mit Dialogfenstern kommen). Um das Dialogfenster oder Fenster zeitweilig zu unterdrücken und Optionen in der Befehlszeile zu verwenden, stellen Sie dem Befehl einen Bindestrich (-) voran ( ). |
‘ |
Der nächste Befehl ist ein verschachtelbarer Befehl. Ansichts- und Konstruktionsebenenänderungen und Objektfänge sind verschachtelbar. Befehle zur Geometrieerzeugung sind nicht verschachtelbar. Einmalige Objektfänge |
; |
Linien, die mit einem Semikolon (;) beginnen, sind nicht Teil des Skripts aber erlauben Ihnen, das Skript zu dokumentieren oder eine Alternative zu verwenden. Zum Beispiel: ; Das ist ein Testmakro |
Beispiele
Einen Kreis zeichnen
Dieses Skript erzeugt einen Kreis zentriert am Punkt 5,5 mit Radius 10:
! _-Circle 5,5 10
Die Leerzeichen zwischen den Eingaben entsprechen der Eingabetaste
, wenn Sie den Befehl von Hand eingeben.
Die Auswahl von Objekten löschen und den Befehl Verschieben starten
Dieses Skript startet den Befehl Verschieben
, aber stellt sicher, dass keine Objekte ausgewählt sind, bevor Sie zur Auswahl von Objekten zum Verschieben aufgefordert werden:
! _SelNone _Move
Eine Kurve durch Punkte in einer Textdatei erzeugen
Dieses Skript erzeugt einen Punktsatz aus einer Liste, wählt alle Punkte aus und erstellt eine Polylinie durch die Punkte:
So funktioniert dieses Skript:
! _SelAll |
Löscht alle vorherigen Befehle und wählt alle Objekte im Modell aus. |
_Points |
Erzeugt ein Punktobjekt an jedem aufgelisteten Koordinatenpaar. |
_Enter |
Simuliert das Drücken der Eingabetaste , was die Erzeugung von Punktobjekten stoppt. |
_Invert |
Kehrt die Auswahl um. Alle sichtbaren Objekte in der Szene wurden am Anfang des Skriptes ausgewählt. Nach dem Invertieren werden also nur die neu erzeugten Punktobjekte ausgewählt. |
_CurveThroughPt |
Erzeugt eine Polylinie durch die Punktobjekte. |
Ein Dialogfenster umgehen
! -_Helix _pause _-pause _Turns=8.2 _ReverseTwist=Yes
Sie werden aufgefordert, Start- und Endpunkte der Achse einzugeben. Andere Optionen (Anzahl Windungen und Verdrehungen umkehren) werden vom Skript definiert. Beim Befehl Helix
werden diese Optionen in einem Dialogfenster definiert.
Diese Skripts ausprobieren:
-
Wählen Sie das Skript aus diesem Hilfethema aus.
-
Drücken Sie Strg
+C
, um es in die Zwischenablage zu kopieren. -
Klicken Sie in die Befehlseingabeaufforderung von Rhino und drücken Sie Strg +V, um das Skript einzufügen.
Besondere Scripting-Befehle
_Pause |
Benutzereingabe in ein Skript stoppen. Beispiel: ! _Circle _Pause 50 Dieses Skript fragt nach einem Punkt und zeichnet dann einen Kreis mit einem Radius von 50 Einheiten an diesem Punkt zentriert. |
_Enter |
Simuliert die Eingabetaste in einem Skript. Dieser Befehl wiederholt den vorherigen Befehl nicht, wie es das Drücken der Eingabetaste tut. |
_SetRedrawOff |
Bildaufbau, Konstruktionsebenen- und Kameraänderungen verhindern, während ein Skript ausgeführt wird. |
_SetRedrawOn |
Aktiviert Bildaufbau nach dem Befehl BildaufbauDeaktivieren. |
_NoEcho |
Kopieren von Skriptbefehlen in das Befehlsverlauffenster deaktivieren. |
_Echo |
Skriptbefehle in das Befehlsverlauffenster kopieren. |
Bemerkungen
-
Wenn Sie nicht wissen, was Sie in einem Skript schreiben sollen, rufen Sie die Version mit Bindestrich des Befehls auf. Heben Sie die Befehlsfolge hervor, kopieren Sie sie und fügen Sie sie in Ihren Skripttext als Anfangspunkt ein.
Öffnen eines Bearbeitungsfensters für Skripterzeugungen und Testen.
Schritte:
-
Geben Sie Befehle im Makroeditor-Fenster ein.
-
Zum Testen klicken Sie auf Starten.
-
Zum Löschen des Makros klicken Sie auf Löschen.
Bemerkungen
-
Auswählen von Text und Klicken auf Startenwird nur den ausgewählten Teil des Makros starten.
-
Es ist ein Kontextmenü enthalten, das durch Klicken mit der rechten Maustaste geöffnet wird und in dem Sie Alle, Kopieren, Einfügen, Löschen, Starten, etc. auswählen können.
Hilfsmittel > Makroeditor öffnen
Werkzeuge > Befehle > Makroeditor Verwandte Themen… |
Liest und führt ein Befehlsskript von einer Textdatei aus.
Schritte:
-
Im Dialogfenster Befehlsdatei lesen wählen Sie die Datei zum Lesen aus.
-
Der Dateiinhalt wird in die Befehlszeile kopiert und die Linien der Befehlsdatei werden interpretiert, als würden Sie in die Befehlszeile eingegeben.
Bemerkungen
-
Beim Erzeugen von Befehlsdateien verwenden Sie den Befehl Eingabe
, der dem Drücken der Eingabetastegleich kommt, zum Ausführen von Befehlen.
-
Wenn Sie oft in einer bestimmten Datei lesen, können Sie BefehlsdateiLesen einer Werkzeugleistenschaltfläche zusammen mit einem Dateinamen zuordnen. Zum Beispiel:
-
-readcommandfile myfile.txt
Klicken Sie auf die Schaltfläche, um die Datei zu lesen. Wenn Sie den Dateinamen nicht schreiben, erscheint ein Dialogfenster für die Datei. Dann können Sie eine Datei aus der Liste auswählen.
-
Wenn der Dateiname Leerzeichen hat, schreiben Sie den Text mit Anführungszeichen. Zum Beispiel:
-
-readcommandfile “my file.txt”
Beispiel
Erzeugen Sie eine Textdatei wie folgendes Beispiel zeigt, mit Befehlen, um all Ihre Kurven darin zu erzeugen, und dann erstellen Sie die Kurven alle auf einmal mit dem Befehl BefehlsdateiLesen.
23,5,0
23.2,5,0
23.7,5.2,1
_enter
_interpcrv
26.1,4.9,1.1
26.8,4.9,1.0
27.1,4.8,0.9
_enter
usw….
Werkzeuge > Befehlsdatei lesen
Werkzeuge > Befehle > Lesen von Datei Verwandte Themen… |
Stoppt ein Script für Benutzereingabe.
Beispiel:
Dieses Skript fragt nach einem Punkt und zeichnet dann einen Kreis mit einem Radius von 50 Einheiten an diesem Punkt zentriert.
! _Circle _Pause 50
Keine
Keines Verwandte Themen… |
Funktionen wie Drücken der Eingabetaste zur Verwendung in Scripts oder Werkzeugleistenschaltflächen.
Beispiel
Dieses Skript definiert eine Konstruktionsebene anhand der Z-Achse:
‘_CPlane _3Point
_Pause _Pause _Enter
Bemerkungen
-
Der Befehl Eingabe wiederholt nicht den vorherigen Befehl, wie es das Drücken der Eingabetaste
tut.
Keine
Keines Verwandte Themen… |
Skriptbefehle in das Befehlsverlauffenster kopieren.
Keine
Keines Verwandte Themen… |
Kopieren von Skriptbefehlen in das Befehlsverlauffenster deaktivieren.
Keine
Keines Verwandte Themen… |
Aktiviert Bildaufbau, Konstruktionsebene oder Kameraänderungen während Skriptausführung.
Bemerkungen
-
Aktiviert Bildaufbau nach dem Befehl BildaufbauDeaktivieren .
Ansicht > Bildaufbau ein (rechte Maustaste)
Keines Verwandte Themen… |
Deaktiviert Bildaufbau, Konstruktionsebene oder Kameraänderungen während Skriptausführung.
Bemerkungen
-
Aktiviert Bildaufbau nach dem Befehl BildaufbauAktivieren .
Ansicht > Bildaufbau aus
Keines Verwandte Themen… |
Bricht aktuellen Befehl ab und nimmt Objekte aus der Auswahl.
Haupt1 > Abbrechen
Keines
Tastaturkürzel: Esc Verwandte Themen… |
Schließt die aktuelle Rhino-Sitzung.
Keine
Keines Verwandte Themen… |
Ruft ein anderes Programm innerhalb Rhinos auf.
Schritte:
-
Geben Sie Namen und Pfad der Datei zum Ausführen ein.
Keine
Keines Verwandte Themen… |
Hängt Textinformationen an ein Objekt an.
Die Information wird auf eine Schlüssel-/Wert-artige Weise gespeichert, wie es das Windows-Verzeichnis verwendet.
Finden Sie die Information mit dem Befehl BenutzertextErhalten
. Diese Information kann auch anhand von .NET Plug-ins und VisualBasic Scripts angehängt werden.
Diese Information ist einfach zugänglich in .NET und Visual Basic Scripts.
Beispiel
Text-Key = Gewicht
Text = Kilogramm
Schritte:
-
Wählen Sie Objekte aus.
-
Geben Sie einen Text-Key ein.
-
Geben Sie den Text ein.
Optionen
AnhängenAn
Geometrie
Hängt Textinformationen an die Objektgeometrie an.
Wenn die Information mit der Geometrie assoziiert ist, hängen Sie sie an die Geometrie an. Der Radius eines Kreises sollte z.B. an die Geometrie angehängt werden, weil die Information ungültig wird, wenn der Kreis anhand der Kontrollpunkte bearbeitet und in eine NURBS-Kurve geändert wird.
Merkmale
Hängt Textinformation an die Merkmale eines Objekts an.
Attributinformation wird beibehalten, wenn ein Objekt anhand der Kontrollpunkte bearbeitet, getrimmt, kopiert, etc. wird.
Keine
Keines Verwandte Themen… |
Findet angehängte Textinformation anhand des Befehls BenutzertextDefinieren
. Diese Information kann auch anhand von .NET Plug-ins und VisualBasic Scripts erhalten werden.
Schritte:
-
Wählen Sie Objekte aus.
-
Geben Sie einen Text-Key ein oder drücken Sie die Eingabetaste
für alle Keys.
Keine
Keines Verwandte Themen… |