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 Bedeutung in Makro

*
(Sternchen)

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

!
(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 letzte Zeichen im Makro einer Werkzeugleistenschaltfläche "\" ist, wird das Makro ausgeführt ohne am Ende Eingabe zu drücken.

 

Zum Beispiel:

Erzeugen Sie eine Werkzeugleistenschaltfläche mit einem Makro "5\". Durch Drücken der Schaltfläche wird 5 in der Befehlszeile eingegeben und auf weitere Eingabe gewartet. Diese Eigenschaft kann zur Erzeugung einer Werkzeugleiste verwendet werden, die wie ein auf dem Bildschirm angezeigter numerischer Tastenblock funktioniert.

~
(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

::
(zwei Doppelpunkte)

Ebenen-Verschachtelung wird durch zwei aufeinanderfolgende Doppelpunkte - "::" zwischen Ebenennamen angezeigt. Im Befehl -Ebene fügen Sie eine unter Ebene 01 verschachtelte Ebene unter Verwendung eines Makros wie des folgenden ein:

! _-Ebene Neu "Ebene 01:: Neue Ebene" Eingabe

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.

MultiPause

Zum Pausieren eines Skripts für die Dauer einer mehrfachen Auswahl wie bei den Befehlen Verbinden, Polylinie oder KanteVerrunden.

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.

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.

MakroEditor

Werkzeugleiste Menü

Hilfsmittel

Werkzeuge

Befehle >

Makroeditor

Mit dem Befehl MakroEditor wird ein Texteingabefeld zum Erstellen und Bearbeiten von Makros geöffnet.

Makroeditor-Panel

Paneloptionen

Vorgehen

  1. Geben Sie Befehle im Makroeditorfenster ein.
  2. Klicken Sie zum Testen auf Starten.
  3. Klicken Sie zum Löschen des Makros auf Löschen.

Anmerkungen

BefehlsdateiLesen

Werkzeugleiste Menü

Werkzeuge

Werkzeuge

Befehle >

Lesen von Datei

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

Vorgehen

Anmerkungen

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

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

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

Zum Aktivieren verwenden Sie den Befehl Echo.

EchoAus

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

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

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

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

Der Befehl Eingabe 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

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

EndeEingeben

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

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 durch Drücken der Eingabetaste sofort beendet.

Beispiel

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Beenden

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Datei

Beenden

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

Pause

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

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

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

MultiPause

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Nicht im Menü.

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

Beispiel

Dieses Makro fragt nach den zu verbindenden Objekten.

! _Join _MultiPause

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

Werkzeugleiste Menü

Ansicht

Nicht im Menü.

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

Reaktivierung des Bildaufbaus

BildaufbauAktivieren

Werkzeugleiste Menü

Ansicht

Nicht im Menü.

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

Deaktivierung des Bildaufbaus

Für weitere Informationen zu Scripting in Rhino, siehe: http://wiki.mcneel.com/de/rhino/basicmacros.

PythonSkriptAusführen

Werkzeugleiste Menü

Nicht auf Werkzeugleisten.

Werkzeuge

PythonScript >

Starten

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

Rhino.Python-Dokumentation: http://developer.rhino3d.com/guides/rhinopython/.

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

 

 

 

Rhino 6 for Mac © 2010-2019 Robert McNeel & Associates. 07-Jun-2019