Befehlsmakros und Scripting

Alle Rhino-Befehle können in Befehlsmakros verwendet werden. Befehlsmakros 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.

Schreiben von Befehlsmakros

Schreiben Sie Befehlsmakros 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 in Makro

*
(Sternchen)

Der Befehl wird automatisch wiederholt, ohne dass die Eingabetaste zum Neustarten gedrückt wird.

!
(Ausrufezeichen)

Löscht den vorherigen Befehl.

Durch ein Ausrufezeichen (!) und ein Leerzeichen am Anfang eines Makros werden alle vorherigen Befehle gelöscht. An anderen Stellen wird das Makro abgebrochen. Das Ausrufezeichen kann wenn nötig am Ende des Makros verwendet werden.

_
(Unterstrich)

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 funktionieren die folgenden Makros:

Circle 3Point 0,0,0 1,1,0 0,3,0

Diese funktionieren jedoch nicht in der deutschen Version. Sie benötigen stattdessen eines von folgenden Makros:

Kreis 3Punkte 0,0,0 1,1,0 0,3,0
_Circle _3Point 0,0,0 1,1,0 0,3,0

Um sicherzugehen, dass die Makros weltweit funktionieren, schreiben Sie sie auf Englisch und setzen Sie einen Unterstrich (_) vor alle Befehlsnamen und Optionen.

-
(Bindestrich)

Dialogfenster unterdrücken.

Alle Befehle können in der Befehlszeile zu Makros werden (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.

'
(Apostroph)

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 und Filter zum Auswählen von Teilobjekten sind automatisch verschachtelbar und benötigen kein Apostroph.

/
(Umgekehrter Schrägstrich)

Wenn das erste Zeichen in einem Werkzeugleistenmakro kein "!" ist und das letzte Zeichen "\" ist, läuft das Skript in der Befehlszeile ohne Eingabetaste, also kann mehr Information hinzugefügt werden.

Diese Eigenschaft ist hilfreich, um eine Befehlszeichenfolge aus Teilen wie Ziffern, Dezimalpunkten, Winkeln (wie "<45"), die sich auf Schaltflächen befinden, zu erzeugen, wobei ein "numerischer Tastenblock" auf dem Bildschirm erzeugt wird.

~
(Tilde)

Unterdrückt Befehlsoptionen, um eine übersichtliche Befehlsrückmeldung zu erhalten. Die Optionen funktionieren wie üblich.

;

(Semikolon)

Kommentar.

Linien, die mit einem Semikolon (;) beginnen, sind nicht Teil des Makros aber erlauben Ihnen, das Makro zu dokumentieren oder eine Alternative zu verwenden.

Zum Beispiel:

; Das ist ein Testmakro
_Circle 0,0,0 15
_Line 0,0,0 _Pause ;15,0,0
; _Line 0,0,0 0,15,0
_Line 0,0,0 -15,0,0

Beispiele

Einen Kreis zeichnen

Dieses Makro 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 würden.

Objekte aus der Auswahl nehmen und den Befehl Verschieben starten

Dieses Makro 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

Erzeugt eine Kurve durch Punkte

Dieses Makro erzeugt einen Satz von drei Punkten, wählt alle Punkte aus und erstellt eine Polylinie durch die Punkte:

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd

So funktioniert dieses Skript:

! _AllesAuswählen

Löscht alle vorherigen Befehle und wählt alle Objekte im Modell aus.

_Punkte

Führt den Befehl Punkte aus.

_Pause

_Pause

_Pause

Erlaubt die Auswahl von drei Punktstandorten.

_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.

_EnterEnd

Vervollständigt den Befehl.

Ein Dialogfenster umgehen

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

Wählen Sie eine Kurve aus, dann führen Sie dieses Makro aus. Alle Optionen werden durch das Makro definiert.

Diese Skripts ausprobieren

1. Wählen Sie das Makro aus diesem Hilfethema aus.
2. Drücken Sie Strg + C, um es in die Zwischenablage zu kopieren.
3. Klicken Sie in die Befehlszeile und drücken Sie Strg + V, um das Makro einzufügen.

Besondere Scripting-Befehle

Pause

Benutzereingabe in einem Makro stoppen.

Beispiel

! _Circle _Pause 50

Dieses Makro fragt nach einem Punkt und zeichnet dann einen Kreis mit einem Radius von 50 Einheiten an diesem Punkt zentriert.

Eingabe

Simuliert das Drücken der Eingabetaste in einem Makro.

Dieser Befehl wiederholt nicht den vorherigen Befehl, wie es das tatsächliche Drücken der Eingabetaste tut.

EndeEingeben

Vervollständigt den Befehl.

BildaufbauDeaktivieren

Bildaufbau, Konstruktionsebenen- und Kameraänderungen verhindern, während ein Makro ausgeführt wird.

BildaufbauAktivieren

Aktiviert Bildaufbau nach dem Befehl BildaufbauDeaktivieren.

EchoAus

Deaktiviert Kopieren von Skriptbefehlen in das Befehlsverlauffenster.

Echo

Aktiviert Kopieren von Skriptbefehlen in das Befehlsverlauffenster.

Hinweis: Wenn Sie nicht wissen, was Sie in einem Makro 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 Makrotext als Anfangspunkt ein.

BefehlsdateiLesen

Mit dem Befehl BefehlsdateiLesen wird ein Befehlsmakro aus einer Textdatei gelesen und ausgeführt.

Vorgehen

Im Dialogfenster Textdatei öffnen 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 _Enter, was dem Drücken der Eingabetaste zum Ausführen eines Befehls entspricht.
Wenn Sie oft in einer bestimmten Datei lesen, können Sie BefehlsdateiLesen einer Werkzeugleistenschaltfläche zusammen mit einem Dateinamen zuordnen. Zum Beispiel:

-BefehlsdateiLesen meindedatei.txt

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.

! _interpcrv
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

etc&.

Echo

Mit dem Befehl Echo wird die Wiedergabe von Makrobefehlen im Befehlsverlauffenster aktiviert.

Zum Aktivieren verwenden Sie den Befehl Echo.

EchoAus

Mit dem Befehl EchoAus wird die Wiedergabe von Makrobefehlen im Befehlsverlauffenster deaktiviert.

Zum Aktivieren verwenden Sie den Befehl Echo.

Hinweis: EchoAus oder _NoEcho muss das erste Wort des Makros sein, damit es korrekt funktioniert. Alles Weitere inklusive des Ausrufezeichens sollte durch ein einfaches Leerzeichen getrennt folgen.

Eingabe

Der Befehl _Enter funktioniert wie das Drücken der Eingabetaste zur Verwendung für Skripts oder Werkzeugleistenschaltflächen.

Beispiel

Dieses Skript definiert eine Konstruktionsebene durch Auswahl von drei Punkten:

'_CPlane _3Point

_Pause _Pause _Pause _Enter

Hinweis: Der Befehl _Enter wiederholt den vorherigen Befehl nicht, wie es das Drücken der Eingabetaste tut.

EndeEingeben

Der Befehl EndeEingeben funktioniert wie das Drücken der Eingabetaste, um eine Befehlsfolge zur Verwendung in Makros oder Werkzeugleistenschaltflächen abzuschließen.

EndeEingeben ist hilfreich, wenn ein Befehl über "mehrstufige" Optionen verfügt, wie Optionen oder DokumentEigenschaften, und Sie eine dieser Optionen beenden möchten, ohne zählen zu müssen, wie oft Sie die Eingabetaste betätigen müssen, um auf eine leere Befehlszeile zu gelangen. Zum Beispiel:

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01

benötigt mindestens zwei oder drei Eingaben, um den Befehl zu beenden. Mit EndeEingeben wird der Befehl wann Sie wollen beendet.

Beispiel

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Beenden

Mit dem Befehl Beenden wird die aktuelle Rhino-Sitzung geschlossen.

Pause

Beispiel

Dieses Makro fragt nach einem Punkt und zeichnet dann einen Kreis mit einem Radius von 50 Einheiten an diesem Punkt zentriert.

! _Circle _Pause 50

Mit dem Befehl Pause wird ein Makro angehalten, um eine Benutzereingabe zuzulassen.

Starten

Mit dem Befehl Starten wird eine andere Anwendung innerhalb von Rhino ausgeführt.

Vorgehen

Geben Sie Namen und Pfad der auszuführenden Datei ein.

BildaufbauDeaktivieren

Mit dem Befehl BildaufbauDeaktivieren werden Bildaufbau, Konstruktionsebenen oder Kameraänderungen während der Skriptausführung deaktiviert.

Reaktivierung des Bildaufbaus

Verwenden Sie den Befehl BildaufbauAktivieren.

BildaufbauAktivieren

Mit dem Befehl BildaufbauAktivieren aktiviert Bildaufbau, Konstruktionsebenen oder Kameraänderungen während der Skriptausführung.

Deaktivierung des Bildaufbaus

Verwenden Sie den Befehl BildaufbauDeaktivieren.

PythonSkriptAusführen

Mit dem Befehl PythonSkriptAusführen wird ein Python-Skript ausgeführt.

Rhino.Python-Dokumentation: http://www.rhino3d.com/5/ironpython/index.html.

-PythonSkriptAusführen

Optionen

EngineZurücksetzen

Zwingt Python zum Neustart. Dies ist nur hilfreich, während Python-Scripts, die über mehrere Dateien gehen, geschrieben und getestet werden.

PythonSkriptBearbeiten

Mit dem Befehl PythonSkriptBearbeiten kann ein Python-Skript bearbeitet werden.

Für weitere Informationen zu Scripting in Rhino, siehe: http://wiki.mcneel.com/developer/python.

BenutzertextDefinieren

Mit dem Befehl BenutzertextDefinieren werden Textinformationen an ein Objekt angehängt.

Die Information wird in einem Schlüssel-/Wertformat gespeichert, ähnlich 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 Skripten angehängt werden.

Diese Information ist einfach zugänglich in .NET und Visual Basic Skripten.

Beispiel

Text-Key = Gewicht

Text = Kilogramm

Vorgehen

1. Wählen Sie Objekte aus.
2. Geben Sie einen Text-Schlüssel ein.
3. Geben Sie den Text ein.

Einen Key entfernen

1. Wählen Sie Objekte aus.
2. Geben Sie einen Text-Schlüssel ein.
3. Geben Sie "" (Anführungszeichen) ein.

Optionen

AnhängenAn

Objekt

Hängt Textinformation an die Merkmale eines Objekts 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.

Einstellungen

Hängt Textinformation an die Merkmale eines Objekts an.

Wenn es sich bei der Information über übergeordnete Attributinformation handelt, wie Farbe, dann sollte sie den Objektattributen angehängt werden. Die Attributinformation wird beibehalten, wenn ein Objekt anhand der Kontrollpunkte bearbeitet, getrimmt, kopiert, etc. wird.

BenutzertextErhalten

Mit dem Befehl BenutzertextErhalten werden Textinformationen ausgelesen, die einem Objekt mithilfe des Befehls BenutzertextErhalten angehängt wurden. Diese Information kann auch mithilfe von .NET Plug-ins und VisualBasic-Skripten erhalten werden.

Vorgehen

1. Wählen Sie ein Objekt aus.
2. Geben Sie einen Text-Schlüssel ein oder drücken Sie die Eingabetaste für alle Schlüssel.

DokumentBenutzertextDefinieren

Mit dem Befehl DokumentBenutzertextDefinieren werden Textinformationen an eine Rhino-3DM-Datei angehängt.

Die Information wird in einem Schlüssel-/Wertformat gespeichert, ähnlich wie es das Windows-Verzeichnis verwendet.

Finden Sie die Information mit dem Befehl DokumentBenutzertextErhalten. Diese Information kann auch anhand von .NET Plug-ins und VisualBasic Skripten angehängt werden.

Diese Information ist einfach zugänglich in .NET und Visual Basic Skripten.

Vorgehen

1. Geben Sie einen Text-Schlüssel ein.
2. Geben Sie den Text ein.

DokumentBenutzertextErhalten

Mit dem Befehl DokumentBenutzertextErhalten werden Textinformationen ausgelesen, die mithilfe des Befehls DokumentBenutzertextDefinieren angehängt wurden. Diese Information kann auch mithilfe von .NET Plug-ins und VisualBasic-Skripten erhalten werden.

Vorgehen

Geben Sie einen Text-Schlüssel ein oder drücken Sie die Eingabetaste für alle Schlüssel.

Rhino for Mac © 2010-2015 Robert McNeel & Associates. 31. August 2015