Macro di comando e scripting

Dove trovo questi comandi?

_a_blank.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Macro di comando e scripting

Tutti i comandi di Rhino possono essere usati in macro di comando. Le macro di comando si possono eseguire digitando il comando al prompt dei comandi, premendo i pulsanti desiderati della barra degli strumenti, usando i tasti di scelta rapida, gli alias dei comandi, da un file testo oppure incollando uno script dalla clipboard al flusso dei comandi di Rhino.

Scrittura di una macro di comando

Si scrivano le macro dei comandi digitandole al prompt dei comandi seguendo la stessa convenzione utilizzata per i comandi impartiti dalla linea di comando. Uno spazio tra i caratteri o una nuova linea hanno la stessa funzione della pressione del tasto Invio nella linea di comando.

Caratteri speciali

Carattere

Significato nella macro

* (asterisco)

Fa sì che il comando si ripeta automaticamente senza premere Invio per riavviare.

!
(punto esclamativo)

Annulla il comando precedente.

Un punto esclamativo (!) ed uno spazio all'inizio di una macro cancellano qualsiasi comando precedente. In qualsiasi altra posizione, termina l'esecuzione della macro. Se necessario, il punto esclamativo può essere usato anche alla fine della macro.

_
(carattere di sottolineatura)

Esegue un comando in versione Inglese.

Rhino può essere localizzato in varie lingue. Le versioni non inglesi hanno comandi, prompt, opzioni di comando, finestre di dialogo, menu, ecc., tradotti nelle rispettive lingue. I comandi in inglese non funzionano in queste versioni.

Affinché gli script scritti in inglese funzionino su tutti i computer a prescindere dalla lingua di Rhino, occorre che essi forzino Rhino ad interpretare tutti i comandi come nomi in inglese.

Per esempio: Nella versione inglese di Rhino, la macro seguente funziona:

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

Tuttavia, nella versione italiana di Rhino, questo script non funziona. Occorre usare una delle seguenti macro:

Cerchio 3Punti 0,0,0 1,1,0 0,3,0
_Circle _3Point 0,0,0 1,1,0 0,3,0

Per assicurarsi che le macro possano funzionare ovunque, si scrivano in inglese precedute dal simbolo _.

-
(meno)

Sopprime la finestra di dialogo.

Tutti i comandi possono essere trasformati in macro dalla linea di comando (anche i comandi che di default compaiono sotto forma di finestre di dialogo). Per sopprimere una finestra di dialogo ed usare le opzioni della linea di comando, apporre il prefisso - (meno) al nome del comando da eseguire (-).

'
(apostrofo)

Il comando successivo è un comando annidabile.

La manipolazione delle viste e dei piani e gli snap all'oggetto sono annidabili. I comandi per la creazione di geometrie non sono annidabili.

Gli snap all'oggetto "one-shot" (per una singola operazione) ed i filtri per la selezione dei sotto-oggetti sono automaticamente annidabili e non richiedono un apostrofo.

\
(barra rovesciata)

Se il primo carattere della macro di una barra strumenti è diverso da "!" e l'ultimo carattere è " \", lo script viene eseguito nella linea di comando senza "Invio", per cui si possono inserire ulteriori parametri.

Questa funzione è utile per costruire una stringa di comando dinamica a partire da parametri numerici quali cifre, punti decimali ed angoli (per esempio "<45"). Si può avere un "tastierino numerico" sullo schermo, con i tasti associati a tali parametri numerici.

~
(tilde)

Elimina le opzioni di comando per lasciare più spazio ai messaggi di feedback dei comandi. Le opzioni continuano a funzionare normalmente.

;

(puntoevirgola)

Commento:

Le linee che iniziano con un punto e virgola (;) non sono parte della macro ma permettono all'utente di documentare la macro o di inserire input alternativo.

Per esempio:

; Questa è una macro di prova
_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

Esempi

Disegnare un cerchio

La seguente macro crea un cerchio con centro nel punto 5,5 e raggio pari a 10:

! _-Circle 5,5 10

Gli spazi presenti tra le varie voci corrispondono alla pressione del tasto Invio quando si inserisce il comando manualmente.

Deselezione di oggetti ed esecuzione del comando Sposta

Questa macro esegue il comando Sposta, ma si assicura che nessun oggetto sia selezionato prima di selezionare l'oggetto da spostare:

! _SelNone _Move

Creare una curva facendola passare per una serie di punti

Questa macro crea un insieme di tre punti e, dopo averli selezionati, genera una polilinea passante attraverso questi punti:

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd

Come funziona questo script:

! _SelezionaTutto

Cancella tutti i comandi precedenti e seleziona tutti gli oggetti attualmente presenti nel modello.

_Points

Esegue il comando Punti.

_Pause

_Pause

_Pause

Consente di specificare tre punti.

_Enter

Simula la pressione del tasto Invio, che termina la creazione di oggetti punto.

_Invert

Inverte la selezione. Tutti gli oggetti visibili nella scena sono stati selezionati all'inizio dello script, per cui, dopo l'esecuzione del comando Inverti, vengono selezionati solamente i nuovi oggetti punto creati.

_CurveThroughPt

Crea una polilinea attraverso gli oggetti punto.

_EnterEnd

Completa il comando.

Evitare la visualizzazione di una finestra di dialogo

! -_Rebuild _Pause _Points=10 _Degree=3 _Enter

Selezionare una curva, quindi eseguire questa macro. Tutte le opzioni verranno impostate dalla macro.

Per provare questi script

number-1.pngSelezionare la macro direttamente da questa pagina della guida.

number-2.pngPremere Ctrl+C per copiarlo negli appunti.

number-3.pngFare clic sul prompt dei comandi di Rhino e premere Ctrl+V per incollare la macro.

Speciali script di comando

Pausa

Interrompe momentaneamente la macro in attesa dell'inserimento dell'input da parte dell'utente.

Esempio

! _Circle _Pause 50

Questa macro richiede l'inserimento di un punto e quindi traccia un cerchio centrato su di esso, con raggio pari a 50.

Invio

Simula la pressione del tasto Invio all'interno di una macro.

Questo comando non ripete il comando precedente come fa la pressione del tasto Invio.

InvioFine

Completa il comando.

AggiornamentoOff

Impedisce l'aggiornamento dello schermo, del piano di costruzione e della camera durante le macro.

AggiornamentoOn

Riattiva l'aggiornamento dello schermo dopo l'esecuzione del comando AggiornamentoOff.

NoEco

Disattiva l'eco dei comandi macro nella finestra dello storico dei comandi.

Eco

Attiva l'eco dei comandi macro nella finestra dello storico dei comandi.

Nota: Se non si è certi della sintassi esatta di un comando da scrivere nella macro, utilizzare la versione con segno meno del comando. Per familiarizzarsi con le macro, evidenziare e copiare la sequenza di comandi e quindi incollarla nel testo della macro.

open_macro_editor.pngEditorMacro

Dove trovo questo comando?

open_macro_editor.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando EditorMacro

Apre una finestra di dialogo editabile per la creazione ed il testing di macro.

Pannello "Editor macro"

paneloptions.pngOpzioni

Passi

number-1.pngDigitare i comandi nella finestra Editor macro.

number-2.pngPer il testing, cliccare su Esegui.

number-3.pngPer cancellare la macro, cliccare su Elimina.

Note

round_bullet.gifSelezionando una parte del testo e cliccando su Esegui, si eseguirà solo la parte selezionata della macro.

round_bullet.gifLo strumento è dotato di un menu a tendina da tasto destro per selezionare tutto, copiare, incollare, cancellare, eseguire, ecc.

read_command_file....pngLeggiFileComandi

Dove trovo questo comando?

read_command_file....pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando LeggiFileComandi

Legge ed esegue una macro di comando da un file di testo.

Passi

number_onestep.gifNella finestra di dialogo Apri file di testo, selezionare il file da leggere.

I contenuti del file vengono copiati nella linea di comando e ciascuna linea presente nel file viene interpretata come se fosse stata digitata nella linea di comando.

Note

round_bullet.gifNella costruzione di file di comandi, utilizzare il comando Invio, che equivale a premere il tasto Invio per eseguire i comandi.

round_bullet.gifSe un particolare file di comandi viene usato spesso, è possibile assegnare LeggiFileComandi al pulsante di una barra degli strumenti, con associato il nome del file. Per esempio:

-readcommandfile myfile.txt

Se il nome del file ha degli spazi, collocare il testo tra virgolette. Per esempio:

-readcommandfile "my file.txt"

Esempio

Creare un file di testo che contiene i comandi per creare una serie di curve (come nell'esempio) e quindi generare le curve tutte in una volta utilizzando LeggiFileComandi.

424! _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&.

Eco

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando Eco

Attiva l'eco dei comandi macro nella finestra dello storico dei comandi.

Per disattivare l'eco, usare il comando NoEco.

NoEco

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando NoEco

Disattiva l'eco dei comandi macro nella finestra dello storico dei comandi.

Per attivare l'eco, usare il comando Eco.

Invio

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando Invio

Funziona come quando si preme il tasto INVIO in uno script o quando si programmano i pulsanti delle barre degli strumenti.

Esempio

Questo script imposta un piano di costruzione rispetto ai tre punti selezionati:

'_CPlane _3Point

_Pause _Pause _Pause _Enter

Nota: Il comando Invio non ripete il comando precedente come fa la pressione del tasto Invio.

InvioFine

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando InvioFine

Ha la stessa funzione della pressione del tasto Invio per completare una stringa di comando; da usare nelle macro o quando si programmano i pulsanti delle barre degli strumenti. InvioFine (_EnterEnd) è comodo quando un comando è "profondo" in termini di opzioni di comando (per esempio i comandi Opzioni o ProprietaDocumento) e si desidera uscire dopo una di queste opzioni senza dover contare il numero di "Invio" necessari per ritornare su un prompt dei comandi vuoto. Per esempio:

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01

richiederebbe almeno due o tre "Invio" per uscire dal comando. Con InvioFine, il comando termina quando lo si desidera.

Esempio

! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Esci

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando Esci

Chiude la sessione corrente di Rhino.

Pausa

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando Pausa

Arresta una macro per consentire l'input da parte dell'utente.

Esempio

Questa macro richiede l'inserimento di un punto e quindi traccia un cerchio centrato su di esso, con raggio pari a 50.

! _Circle _Pause 50

Esegui

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando Esegui

Avvia un'altra applicazione dall'interno di Rhino.

Passi

number_onestep.gifDigitare il nome ed il percorso del file da eseguire.

set_redraw_off.pngAggiornamentoOff

Dove trovo questo comando?

set_redraw_off.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando AggiornamentoOff

Disattiva l'aggiornamento dello schermo, del piano di costruzione e della camera durante gli script.

number_onestep.gifPer riattivare l'aggiornamento dello schermo, usare il comando AggiornamentoOn.

set_redraw_off.pngAggiornamentoOn

Dove trovo questo comando?

set_redraw_off.png_rightbuttononly.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando AggiornamentoOn

Attiva l'aggiornamento dello schermo, del piano di costruzione e della camera durante gli script.

number_onestep.gifPer disattivare l'aggiornamento dello schermo, usare il comando AggiornamentoOff.

Scripting

RhinoScript è un plug-in per l'esecuzione di script. I linguaggi di scripting consentono l'utilizzo di loop, nomi di variabili, ricerca di file, query ed altre utili funzioni.

I comandi da usare sono:

CaricaScript

EseguiScript

ModificaScript

I passaggi da svolgere sono

number-1.pngScrivere una funzione script.

RhinoScripts usa l'estensione file .rvb.

number-2.pngEseguire il comando CaricaScript per caricare lo script in memoria.

number-3.pngUsare il comando EseguiScript per eseguire il nome della funzione.

Nota: Trascinando un file .rvb sulla finestra di Rhino, lo script verrà caricato ed eseguito.

Per maggiori informazioni sugli script

number_onestep.gifDal menu Aiuti di Rhino, cliccare su Plug-in e quindi su RhinoScript.

Per ulteriori informazioni sugli script di Rhino, si veda: http://www.it.rhino3d.com/developer.htm/.

CaricaScript

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando CaricaScript

Legge un file di script dal disco, lo carica nell'interprete di script e lo esegue.

Nota: Trascinando un file .rvb sulla finestra di Rhino, lo script verrà caricato ed eseguito.

Passi

number_onestep.gifNella finestra di dialogo Carica file di script, cliccare sul menu Aiuti.

Per ulteriori informazioni sugli script di Rhino, si veda: http://www.it.rhino3d.com/developer.htm/.

Per il riferimento online di RhinoScript per la programmazione, si veda: http://www.rhino3d.com/5/rhinoscript/index.html

EseguiScript

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando EseguiScript

Esegue uno script precedentemente caricato.

Nota: Trascinando un file .rvb sulla finestra di Rhino, lo script verrà caricato ed eseguito.

Passi

number_onestep.gifNella finestra di dialogo Esegui subroutine script, cliccare sul menu Aiuti.

Per ulteriori informazioni sugli script di Rhino, si veda: http://www.it.rhino3d.com/developer.htm/.

ModificaScript

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Macro di comando e scripting command

Apre un editor di testo per modificare i file RhinoScript.

Passi

number_onestep.gifNella finestra di dialogo Modifica script, cliccare sul menu Aiuti.

Per ulteriori informazioni sugli script di Rhino, si veda: http://www.it.rhino3d.com/developer.htm/.

EseguiScriptPython

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando EseguiScriptPython

Esegue uno script di Python.

Per ulteriori informazioni sugli script di Rhino, si veda: http://www.it.rhino3d.com/developer.htm/.

Per il riferimento online di Rhino.Python per la programmazione, si veda:

http://www.rhino3d.com/5/ironpython/index.html

-EseguiScriptPython

Opzioni

ReimpostaMotore

Forza la reinizializzazione del motore di python. Questa opzione è utile solo durante la scrittura e la verifica di script di Python che abbracciano più file.

ModificaScriptPython

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando ModificaScriptPython

Modifica uno script di Python.

Per ulteriori informazioni sugli script di Rhino, si veda: http://wiki.mcneel.com/developer/python.

ImpostaInfoTestoUtente

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando ImpostaInfoTestoUtente

Allega informazioni di testo ad un oggetto.

Le informazioni vengono memorizzate in una chiave/valore come quelli usati dal registro di Windows.

Recuperare le informazioni con il comando OttieniInfoTestoUtente. Queste informazioni possono essere allegate anche tramite i plug-in .NET e gli script VisualBasic.

Queste informazioni sono facilmente accessibili in .NET e script di Visual Basic.

Esempio

Chiave testo = Peso

Testo = chilogrammi

Passi

number-1.pngSelezionare gli oggetti.

number-2.pngDigitare una chiave testo.

number-3.pngDigitare il testo.

Per rimuovere una chiave

number-1.pngSelezionare gli oggetti.

number-2.pngDigitare una chiave testo.

number-3.pngDigitare "" (doppi apici).

Opzioni

AssociaA

Oggetto

Allega informazioni di testo alla geometria di un oggetto.

Se le informazioni sono strettamente associate alla geometria, allegarle alla geometria. Per esempio, il raggio di un cerchio va allegato alla geometria perché le informazioni non saranno valide se il cerchio viene modificato tramite punti di controllo e trasformato in una curva NURBS.

Attributi

Allega informazioni di testo agli attributi di un oggetto.

Se le informazioni sono informazioni attributi di livello superiore, come il colore, esse andrebbero allegate agli attributi dell'oggetto. Le informazioni attributi si mantengono quando un oggetto viene editato tramite punti di controllo, troncato, copiato e così via.

OttieniInfoTestoUtente

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando OttieniInfoTestoUtente

Recupera le informazioni di testo associate ad un oggetto tramite il comando ImpostaInfoTestoUtente. Queste informazioni possono essere recuperate anche tramite i plug-in .NET e gli script VisualBasic.

Passi

number-1.pngSelezionare gli oggetti.

number-2.pngDigitare una chiave testo oppure premere Invio per tutte le chiavi.

ImpostaTestoUtenteDocumento

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando ImpostaTestoUtenteDocumento

Allega informazioni di testo ad un file .3dm di Rhino.

Le informazioni vengono memorizzate in una chiave/valore come quelli usati dal registro di Windows.

Recuperare le informazioni con il comando OttieniTestoUtenteDocumento. Queste informazioni possono essere allegate anche tramite i plug-in .NET e gli script VisualBasic.

Queste informazioni sono facilmente accessibili in .NET e script di Visual Basic.

Passi

number-1.pngDigitare una chiave testo.

number-2.pngDigitare il testo.

OttieniTestoUtenteDocumento

Dove trovo questo comando?

_nobutton.pngBarre degli strumenti

menuicon.pngMenu

ctrlplus.pngScelta rapida

Comando OttieniTestoUtenteDocumento

Recupera le informazioni di testo associate tramite il comando ImpostaTestoUtenteDocumento. Queste informazioni possono essere recuperate anche tramite i plug-in .NET e gli script VisualBasic.

Passi

number_onestep.gifDigitare una chiave testo oppure premere Invio per tutte le chiavi.