Tutorial: personalizzare con le Macro

Personalizzare con le Macro in Rhino è un modo per creare un codice che riproduca i nostri comandi. Ce lo spiega Lucia Tagliareni editrice del tutorial.

Indice

  • Introduzione
  • Definizione di Macro
  • Nozioni base
  • Comandi principali
  • Preparare l’area di lavoro
  • Programmare la Macro
  • Eseguire una Macro da file di testo

Introduzione

Nel tutorial che segue sarà illustrato come personalizzare con le Macro un
oggetto 3D automaticamente e ogni volta in modo differente. Più nello specifico, andremo
a personalizzare con le Macro un gadget già esistente con una scritta che, nel nostro caso, rappresenta
il nome del destinatario dello stesso.
Dunque, non ci soffermeremo sulla modellazione di quest’ultimo e non è necessaria
alcuna conoscenza di programmazione per poter comprendere questo tutorial.
Prerequisito invece è una conoscenza base dei comandi di Rhino.
I comandi che andremo ad utilizzare sono:
• seleziona (nome, ultimo, tutto, nessuno);
• blocca e sblocca oggetti;
• oggetto testo;
• unione Booleana;
• sposta.
Gli strumenti necessari invece sono:
• la guida in linea o la sezione Aiuti;
• l’editor delle macro di Rhino.

Personalizzare con le Macro : Definizione

Macro è l’abbreviativo di “macroinstruction” (macro-istruzione) cioè, è un insieme
programmabile di istruzioni che traduce una determinata serie di input in una sequenza
preimpostata di output. Queste possono essere utilizzate per rendere meno ripetitive
alcune attività racchiudendo un insieme di comandi, sequenze di tasti, spostamenti del
mouse o altri tipi di input in un unico comando.
In Rhino, tutti i comandi possono essere utilizzati all’interno di macro di comando ed
effettivamente alcuni dei comandi già presenti di default sono delle macro.
Esistono diversi modi per eseguire le macro di comando all’interno del nostro flusso di
lavoro in Rhino ma, in questo tutorial, utilizzeremo l’editor delle macro (EditorMacro),
già presente all’interno del programma, per la verifica e termineremo vedendo come
richiamare un file di testo esterno per eseguire la personalizzazione.

Per un maggiore approfondimento dell’argomento, si rimanda
alla guida in linea o alla sezione Aiuti nel menù dei comandi di Rhino o nei pannelli a schede.

Nozioni base

Le Macro fanno uso di alcuni caratteri speciali che aiutano nella definizione del
comportamento di un dato comando.
Nelle pagine a seguire, utilizzeremo i seguenti*:
! Annulla il comando precedente. Se seguito da uno spazio
all’inizio di una macro cancella qualsiasi comando precedente. Invece, in
qualsiasi altra posizione, termina l’esecuzione della macro. Se necessario, il punto
esclamativo può essere usato anche alla fine della macro.
_ Esegue un comando in versione Inglese. Per
assicurarsi che le macro possano funzionare indipendentemente dalla lingua
impostata nel software, vanno scritte in inglese precedute da questo simbolo.
Se il comando ne prevede una, sopprime la finestra di dialogo.
; Consente di commentare la Macro senza influenzarne
l’esecuzione. In alternativa, può essere anche utilizzato per inserire input
alternativi.
Inoltre, bisogna tenere a mente quando la si scrive che lo spazio tra i caratteri o una nuova
linea di comando sortiscono lo stesso effetto del tasto Invio nella linea di comando.
Per l’elenco completo dei caratteri speciali si rimanda alla guida in linea o alla sezione
Aiuti nel menù dei comandi di Rhino o nei pannelli a schede.

*La fonte per la descrizione dei caratteri speciali è
http://docs.mcneel.com/rhino/5/help/it-it/information/rhino_scripting.htm

Comandi principali

Per scrivere una Macro correttamente, può essere utile cominciare dalla definizione di tutti i principali passaggi/azioni necessarie. Nel nostro caso, ad esempio, avremo bisogno di:
1.
creare una scritta sotto forma di polisuperficie chiusa (OggettoTesto);
2.
renderla un unico oggetto con il gadget (UnioneBooleana);
3.
spostarla nello spazio per evitare che tutte le personalizzazioni si sovrappongano così, in un secondo momento, potremo selezionarle e gestirle al meglio a seconda delle nostre necessità (Sposta).
Cominciamo quindi definendo la trascrizione sotto forma di testo dei comandi individuati in modo da poterli eseguire direttamente da Editor delle macro o, se necessario, da linea di comando:

OggettoTesto
Come molti altri comandi di Rhino, OggettoTesto prevede di default l’inserimento delle varie opzioni tramite finestra di dialogo. Di conseguenza, se vogliamo vedere tutti i parametri personalizzabili e come vengono chiamati di preciso nella trascrizione del comando abbiamo due alternative:
1. Consultare la guida
2. Digitare il comando all’interno del prompt dei comandi preceduto dal simbolo -(meno). Così facendo, nella finestra del prompt dei comandi, comparirà il comando nella sua trascrizione in linea completa di tutte le opzioni del comando.

Prendiamo ad esempio la finestra di dialogo qui di fianco. Se volessimo creare un testo con le stesse caratteristiche ma utilizzando il prompt dei comandi, dovremmo utilizzare una linea di comando strutturata così:

-OggettoTesto Altezza=5 Rotazione=0 Carattere “Arial” Corsivo=No Grassetto=No AllineamentoOrizzontale=Centro AllineamentoVerticale=Centrale CreaGeometria=Solidi Spessore=2 RaggruppaOutput=Sì ConsentiCaratteriATrattoSingolo=No MinuscoloComeMaiuscoletto=No AggiungiSpaziatura=No UsaTestoDelCentroPerPosizionare=Sì “Massimiliano” 0,0,2


Questa riga di comando dunque imposta le dimensioni, l’allineamento e l’orientamento della scritta, il font da utilizzare e le sue caratteristiche, il posizionamento e cosa scrivere.

UnioneBooleana
Una volta creata la nostra scritta e scelto il suo posizionamento nello spazio, possiamo definire i comandi necessari per unirla con il nostro gadget. Nel nostro caso, la soluzione migliore è l’utilizzo del comando UnioneBooleana che, tra l’altro, è uno di quei comandi che trasforma gli oggetti selezionati senza bisogno di specificarne i parametri.
Dunque, per chiamarla da prompt dei comandi, la sua trascrizione in linea è semplicemente UnioneBooleana .

Sposta
Il comando Sposta, richiede le coordinate di due punti per poter funzionare che sono il punto di riferimento iniziale e il punto di destinazione.
Ad esempio, per spostare un oggetto selezionato lungo l’asse Y di 100 unità, scriveremo nel prompt dei comandi Sposta 0,0,0 0,100,0 .


Altri comandi utili
Per poter far funzionare correttamente la Macro, automatizzando il processo di personalizzazione, avremo bisogno anche dei comandi per:
• selezionare = esistono diverse tipologie di selezione ma quelle che utilizzeremo sono
SelNome (seleziona gli oggetti in base al loro nome), SelNessuno (deseleziona tutto), SelUltimo (seleziona gli ultimi oggetti modificati/creati), SelezionaTutto (seleziona tutti gli oggetti nella scena).
• creare una copia = nel nostro caso, ci interesserà creare una copia del gadget nella stessa posizione dell’originale. Per Questo motivo, da linea di comando, utilizzeremo il comando Copia seguito da SulPosto
• cambiare il nome dell’oggetto = -Proprietà Oggetto Nome “[nome oggetto]”
• invio = esistono due tipi di invio che è possibile utilizzare nel prompt dei comandi Invio e InvioFine. Il primo serve per confermare gli input, il secondo invece ha la stessa funzione ma, in più, consente di uscire dal comando senza tener conto di quanto in “profondità” si è andati nelle sue opzioni.
es.
-Proprietà Oggetto Nome “[nome oggetto]” Invio Invio
oppure
-Proprietà Oggetto Nome “[nome oggetto]” InvioFine

Preparare l’area di lavoro

Fare doppio clic sull’icona di Rhino per
aprire il programma e nel pannello Nuovo
scegliere Oggetti piccoli – millimetri. Di default, il programma si aprirà con il layout delle viste suddiviso in 4 aree (Superiore,
Frontale, Destra e Prospettica) e con i pannelli a schede ancorati sul lato destro della
schermata di lavoro di Rhino.

Fare clic sulle opzioni dei pannelli. Si aprirà
l’elenco completo delle schede quindi,
fare clic su Editor macro per aggiungere la
rispettiva scheda alle altre.

Adesso, per importare il file contenente il modello da personalizzare, dal menù dei comandi fare clic su File > Importa e selezionare il file desiderato.

Il modello con cui lavorare potrà essere sia una polisuperficie che una mesh ma, a secondo del caso, bisognerà utilizzare i comandi appropriati in base al tipo di geometria utilizzata. Ad ogni modo, nell’esempio che segue, verrà utilizzata una polisuperficie chiusa ma verranno comunque fornite delle indicazioni più avanti per le mesh.

Se l’oggetto importato non dovesse essere già centrato nella nostra area di lavoro, possiamo utilizzare i comandi Allinea oggetti o Sposta per centrarlo rapidamente.

Assegniamo al nostro gadget un nome facendo attenzione che nessun altro oggetto nell’area di lavoro si chiami allo stesso modo, ad esempio portachiavi.

Selezioniamo l’oggetto e andiamo nel pannello Proprietà > Oggetto > Nome e cambiamo il nome del nostro gadget in portachiavi.

Prima di procedere con la definizione della Macro nel suo insieme, quindi, stabiliamo le caratteristiche che avrà il nostro testo.

Individuare il nome più lungo e/o che occupa più spazio nel nostro elenco.

Utilizzare il comando OggettoTesto per verificare le dimensioni della scritta più adatte in base all’oggetto da personalizzare con le Macro e prendere nota.

Programmare la Macro

Adesso, non ci resta che scrivere la Macro di base mettendo assieme tutti i comandi visti e aiutandoci, se necessario, con un editor di testo. Attenzione a verificare di volta in volta nell’Editor macro di Rhino quanto scritto, in modo da trovare velocemente eventuali errori.
Di seguito, una possibile sequenza di comandi che fa al caso nostro:
! -SelNome portachiavi
Seleziona in base al nome l’oggetto di partenza
Copia SulPosto
Crea una copia dell’oggetto nella stessa posizione dell’originale
-Proprietà Oggetto Nome “massimiliano” InvioFine
Cambia il nome dell’oggetto copiato
SelNessuno
Deseleziona tutto
-OggettoTesto Altezza=5 Rotazione=0 Carattere “Arial” Corsivo=No Grassetto=No AllineamentoOrizzontale=Centro AllineamentoVerticale=Centrale CreaGeometria=Solidi Spessore=2 RaggruppaOutput=Sì ConsentiCaratteriATrattoSingolo=No MinuscoloComeMaiuscoletto=No AggiungiSpaziatura=No UsaTestoDelCentroPerPosizionare=Sì “Massimiliano” 0,0,2
Crea una polisuperficie chiusa secondo le opzioni specificate nella linea di comando
-SelNome massimiliano
Seleziona l’oggetto in base al nome
-SelUltimo DeselezionaAltriPrimaDellaSelezione=No Invio
Seleziona l’ultimo oggetto modificato (in questo caso l’OggettoTesto) senza deselezionare il resto
UnioneBooleana
Esegue l’unione booleana di tutti gli oggetti selezionati
Sposta 0,0,0 0,100,0
Sposta lungo Y di 100 unità il risultato dell’unione booleana
SelNessuno

Quindi, eseguire tutta la Macro appena creata nell’Editor macro e verificarne il corretto funzionamento prima di procedere con la creazione dei gadget successivi.

Nell’area dei pannelli a schede, fare clic sulla scheda dell’Editor macro

Trascrivere la Macro nell’Editor

Fare clic su Esegui per avviare la macro
Se avete utilizzato la Macro di esempio e modificato opportunamente i valori dell’OggettoTesto in base al vostro gadget, il risultato finale sarà una copia di quest’ultimo personalizzata con il nome scelto e traslata lungo l’asse Y.

Vediamo adesso come personalizzare con le Macro contemporaneamente più oggetti con l’esecuzione di una sola Macro. Per fare ciò si dovrà:
• cambiare il nome degli oggetti e, in caso, anche il nome da scrivere con il comando OggettoTesto;
• ripetere le istruzioni per una singola personalizzazione tante volte quanti sono gli oggetti da creare;
• modificare le istruzioni in modo da rendere ripetibile la nostra Macro infinite volte ma facendo attenzione a possibili sovrapposizioni indesiderate.

Di seguito le modifiche da apportare alle istruzioni definite in precedenza in modo da renderle ripetibili

! -SelNome portachiavi
Copia SulPosto
-Proprietà Oggetto Nome “massimiliano” InvioFine
SelNessuno
-OggettoTesto Altezza=5 Rotazione=0 Carattere “Arial” Corsivo=No Grassetto=No AllineamentoOrizzontale=Centro AllineamentoVerticale=Centrale CreaGeometria=Solidi Spessore=2 RaggruppaOutput=Sì ConsentiCaratteriATrattoSingolo=No MinuscoloComeMaiuscoletto=No AggiungiSpaziatura=No UsaTestoDelCentroPerPosizionare=Sì “Massimiliano” 0,0,2
-SelNome massimiliano
-SelUltimo DeselezionaAltriPrimaDellaSelezione=No Invio
UnioneBooleana

Per rendere ripetibile, bisogna considerare che al termine di questo comando gli oggetti interessati restano selezionati. Di conseguenza, per spostare solo i gadget già personalizzati da qui in poi sarà necessario modificare le istruzioni definite in precedenza .

SelNessuno
-SelNome portachiavi
Blocca

Blocca gli oggetti selezionati (l’oggetto portachiavi di base rimarrà invariato e pronto per la successiva personalizzazione)
SelezionaTutto
Seleziona tutti gli oggetti sbloccati
Sposta 0,0,0 0,100,0
SelNessuno
Sblocca

Sblocca tutti gli oggetti bloccati. Così facendo il nostro gadget di base torna allo stato iniziale per poter essere personalizzato con il prossimo nome.

Esempi: personalizzare con le Macro

Eseguire una personalizzare con le Macro da file di testo

Qualora avessimo salvato le nostre Macro in dei file di testo, non sarà necessario aprirli per copiarne il contenuto dentro al nostro Editor macro. Basterà infatti utilizzare il comando -LeggiFileComandi “[percorso e nome del file]”.txt. Individuare il percorso del nostro file.

Individuare il percorso del nostro file
Copiare il comando -LeggiFileComandi “[percorso del file]”.txt nel prompt dei comandi o dentro Editor macro seguito da un clic su Esegui

Se hai domande o semplicemente hai provato a personalizzare con le Macro e vuoi condividere il risultato puoi lasciare un commento. Oppure puoi contattarci.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *