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.

Caratteri speciali

Significato nella macro

(Spazio)

Nelle macro, lo spazio funge da Invio.

Quando viene eseguito lo script di un nome o di una stringa di testo con spazi, occorre inserire virgolette doppie per evitare di interrompere la sequenza del comando.

Per esempio:

_-SelNome "Table 01"

_-SelNome Table 01

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

-
(lineetta/trattino)

Sopprime la finestra di dialogo.

Tutti i comandi possono essere trasformati in macro dalla linea di comando (anche i comandi che di default compaiono come 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 (-). Per alcuni comandi (ad esempio LoftDev), le opzioni sono disponibili solo dalla linea di comando.

_
Il carattere di sottolineatura

esegue i comandi e le opzioni in inglese.

Rhino è localizzato in varie lingue. I comandi e le opzioni sono tradotti in vari lingue. Per fare in modo che le macro funzionino in modo universale, occorre scriverle in inglese con un carattere di sottolineatura (_) davanti a ciascun comando e opzione.

Per esempio:

Cerchio 3Punti 0,0,0 1,1,0 0,3,0

Questa macro funziona solo nella versione italiana di Rhino.

 

_Circle _3Point 0,0,0 1,1,0 0,3,0

Questa macro funziona in Rhino in tutte le lingue.

'
(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 l'ultimo carattere in una macro per i pulsanti della barra degli strumenti è "\", la macro viene eseguita senza dover premere Tasto InvioInvio alla fine.

Per esempio:

Creare una barra degli strumenti con una macro "5\". Facendo clic, il pulsante inserisce 5 sulla linea di comando e si interrompe in quel punto per un ulteriore input. Questa funzionalità può essere utilizzata per creare una barra degli strumenti che funge da tastierino numerico su schermo.

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

#
(cancelletto)

Attiva la registrazione della storia di costruzione per il comando seguente.

Per esempio: #RaccordoBlendArco

%
(percentuale)

Disattiva la registrazione della storia di costruzione per il comando seguente.

Per esempio: %RaccordoBlendArco

Esempi

Disegnare un cerchio

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

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

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

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

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

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

Pannello Editor macro

Passi

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

Note

  • Selezionando una parte del testo e facendo clic su Esegui, verrà eseguita solo la parte selezionata della macro.
  • Lo strumento è dotato di un menu a tendina da tasto destro per selezionare tutto, copiare, incollare, cancellare, eseguire, ecc.

LeggiFileComandi

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

Passi

  • Nella 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

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.

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

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

Per disattivare l'eco, usare il comando NoEco.

NoEco

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

  • Per attivare l'eco, usare il comando Eco.

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

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

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:

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

763! _-DocumentProperties _Mesh _Custom _MaxEdgeSrf .01 _EnterEnd

Chiudi

Il comando Chiudi può essere usato in uno script per chiudere un modello di Rhino.

Esempio di script di Python:

import Rhino

import scriptcontext as sc

Rhino.RhinoApp.RunScript("Close "+sc.doc.Path+" Enter", False)

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

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.

776! _Circle _Pause 50

PausaMultipla

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

Esempio

Questa macro richiede l'unione di oggetti.

779! _Join _MultiPause

Esegui

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

Passi

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

AggiornamentoOff

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

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, fare clic su Plug-in e quindi su RhinoScript.

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

CaricaScript

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, fare clic sul menu Aiuti.

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

EseguiScript

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, fare clic sul menu Aiuti.

ModificaScript

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

Passi

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

EseguiScriptPython

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

Il comando ModificaScriptPython modifica uno script di Python.

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

Script Compiler

RH-58052

L'applicazione Script Compiler converte i file di script (.rvb, .py, gh, ghx) in plug-in *.rhp.

 

L'applicazione Script Compiler è stata installata dal programma di installazione di Rhino su:

C:\Programmi\Rhino <versione>\Sistema\RhinoScriptCompiler.exe

Passi

  1. Selezionare Strumenti > Script Compiler.

  2. Premere i tasti delle lettere evidenziate per scorrere attraverso le azioni.