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

Scrivere 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 equivalgono a premere Invio nella linea di comando.

Caratteri speciali 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, questo simbolo 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
; Linea 0,0,0 0,15,0
_Line 0,0,0 -15,0,0

::
(due punti doppio)

L'annidamento di livelli è indicato con il segno di due punti doppio - "::" tra i nomi dei livelli. Nel comando -Livello, aggiungere un nuovo livello annidato sotto Livello 01 utilizzando una macro come questa:

! _-Layer New "Layer 01:: Nuovo livello" Invio

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 di 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 da un elenco in un file di testo e, dopo averli selezionati, genera una polilinea passante attraverso questi punti:

! _SelAll _Points _Pause _Pause _Pause _Enter _Invert _CurveThroughPt _EnterEnd

Come funziona questo script:

! _SelAll

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

  1. Selezionare la macro direttamente da questa pagina della guida.
  2. Premere Ctrl + C per copiarla negli appunti.
  3. Fare 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.

PausaMultipla

Arresta uno script durante selezioni multiple, per esempio in Unisci, Polilinea e RaccordaBordi.

Invio

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

Questo comando non ripete il comando precedente come fa la pressione di 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.

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.

EditorMacro

Barra strumenti Menu

Utility

Strumenti

Comandi >

Editor macro

Il comando EditorMacro apre una finestra di dialogo editabile per la creazione ed il testing di macro.

Pannello Editor macro

Opzioni del pannello

Passi

  1. Digitare i comandi nella finestra Editor macro.
  2. Per il testing, cliccare su Esegui.
  3. Per cancellare la macro, cliccare su Elimina.

Note

LeggiFileComandi

Barra strumenti Menu

Strumenti

Strumenti

Comandi >

Leggi da file

Il comando LeggiFileComandi legge ed esegue una macro di comando da un file di testo.

Passi

Note

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.

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

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il comando Eco attiva l'eco dei comandi macro nella finestra dello storico dei comandi.

Per disattivare l'eco, usare il comando NoEco.

NoEco

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il comando NoEco disattiva l'eco dei comandi macro nella finestra dello storico dei comandi.

NoEco o _NoEcho devono essere la prima parola della macro per un corretto funzionamento. Tutto il resto va di seguito, compreso il punto esclamativo, separato da uno spazio.

Invio

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il comando Invio funziona come quando si preme 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

Il comando Invio non ripete il comando precedente come succede quando si preme il tasto Invio.

InvioFine

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il 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

Barra strumenti Menu

Non si trova nelle barre strumenti.

File

Esci

Il comando Esci chiude la sessione corrente di Rhino.

Per accedere alle opzioni da linea di comando

  • Anteporre un trattino al nome del comando -Esci.
Opzioni da linea di comando

 

No

 

Annulla

 

Pausa

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il 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

PausaMultipla

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il comando PausaMultipla arresta una macro per consentire l'input da parte dell'utente.

Esempio

Questa macro richiede l'unione di oggetti.

! _Join _MultiPause

Esegui

Barra strumenti Menu

Non si trova nelle barre strumenti.

Non si trova nei menu.

Il comando Esegui avvia un'altra applicazione dall'interno di Rhino.

Passi

  • Digitare il nome ed il percorso del file da eseguire.

AggiornamentoOff

Barra strumenti Menu

Vista

Non si trova nei menu.

Il comando AggiornamentoOff disattiva l'aggiornamento dello schermo, del piano di costruzione e della camera durante gli script.

Per riattivare l'aggiornamento dello schermo

AggiornamentoOn

Barra strumenti Menu

Vista

Non si trova nei menu.

Il comando AggiornamentoOn attiva l'aggiornamento dello schermo, del piano di costruzione e della camera durante gli script.

Per disattivare l'aggiornamento dello schermo

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:

I passaggi da svolgere sono

  1. Scrivere una funzione script.
    RhinoScripts usa l'estensione file .rvb.
  2. Eseguire il comando CaricaScript per caricare lo script in memoria.
  3. Usare il comando EseguiScript per eseguire il nome della funzione.

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

Per maggiori informazioni sugli script

  • Dal menu Aiuti di Rhino, cliccare su Plug-in e quindi su RhinoScript.

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

CaricaScript

Barra strumenti Menu

Non si trova nelle barre strumenti.

Menu Strumenti

RhinoScript >

Carica

Il comando CaricaScript legge un file di script dal disco, lo carica nell'interprete di script e lo esegue.

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

Passi

  • Nella finestra di dialogo Carica file di script, cliccare sul menu Aiuti.

Per il riferimento online di RhinoScript per la programmazione, si veda: http://developer.rhino3d.com/guides/rhinoscript/

EseguiScript

Barra strumenti Menu

Non si trova nelle barre strumenti.

Menu Strumenti

RhinoScript >

Esegui

Il comando EseguiScript esegue uno script precedentemente caricato.

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

Passi

  • Nella finestra di dialogo Esegui subroutine script, cliccare sul menu Aiuti.

ModificaScript

Barra strumenti Menu

Non si trova nelle barre strumenti.

Strumenti

RhinoScript >

Modifica

Il comando ModificaScript apre un editor di testo per modificare i file RhinoScript.

Passi

  • Nella finestra di dialogo Modifica script, cliccare sul menu Aiuti.

EseguiScriptPython

Barra strumenti Menu

Non si trova nelle barre strumenti.

Strumenti

PythonScript >

Esegui

Il comando EseguiScriptPython esegue uno script di Python.

Per il riferimento online di Rhino.Python per la programmazione, si veda: http://developer.rhino3d.com/guides/rhinopython/.

-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

Barra strumenti Menu

Non si trova nelle barre strumenti.

Strumenti

PythonScript >

Modifica

Il comando ModificaScriptPython modifica uno script di Python.

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

 

 

 

Rhinoceros 6 © 2010-2017 Robert McNeel & Associates. 18-dic-2017