Tu sei qui

Prima esercitazione - Creazione di una famiglia Tavolo- Marco Vanetti

 

Questo è il mio primo post sul blog riguardo il corso di Tecniche Parametriche di Progettazione, ma non il primo in assoluto in quanto ho partecipato al workshop Mass-re-clad nella settimana passata; essendomi piaciuto particolarmente l'approccio del workshop all'utilizzo del blog mi piacerebbe continuare sulla stessa strada intrapresa andando ad approfondire ancora di più i problemi riscontrati e le mie opinioni riguardo il corso. Penso sia il modo più corretto di utilizzare lo strumento del blog. Attualmente sono indeciso se articolarlo più sullo stile dei tutorials o solamente come spiegazione del workflow da me seguito, comprensivo del mio stream-of-consciousness; cercherò di articolarlo in una maniera bilanciata e comprensibile!
 
Premetto di aver saltato la prima vera e propria lezione del corso per un viaggio all'estero, quindi ho aperto per la prima volta Autodesk Revit ieri sera,nella versione 2010,per passare alla 2012 questa mattina.
Come da mia routine per ogni nuovo software al quale mi affaccio inizio con il giocarci un po', provando i comandi che mi saltano all'occhio e vedendo le interfaccie. Fin da subito mi è palese la differenza con Autocad,software di disegno non parametrico; la maggior parte dei comandi,come intuibile, è più riferita a delle tipologie edilizie,non a delle geometrie successivamente personalizzabili. Fatico un poco a gestirmi il controllo delle viste e dei disegni nei piani, in particolare la gestione dei disegni sul piano terra e i successivi. Dopo aver un po giocato con i vari comandi provo ad abbozzare una grezzissima casetta,giusto per vedere come si comportano gli snap e l'allineamento dei muri (per i magari differenti spessori,cosa che mi incuriosisce molto).
Avendo io comprato qualche settimana fa,quando ancora non sapevo avrei potuto seguire un corso di disegno parametrico, un manuale per Revit 2011, mi sono reso conto che una delle maggiori potenzialità del software era la gestione delle famose "famiglie". Per intenderci le famiglie sono quel gruppo di oggetti parametrici come porte,finestre, che sono strutturate in genere in modo da avere delle relazioni interne riguardo le proprie forme (ad esempio,immagino,editando una porta e modificandone l'altezza,ci sia una formula che ne regoli la larghezza di conseguenza).
Questo è il punto di partenza dell'esercitazione che ci è stata chiesta per questa mattina, ovvero di creare una generica famiglia da zero.
Inizialmente mi sono battuto sul come sfruttare appieno le potenzialità del mezzo, visto che mi sembrava sprecato per disegnare pannelli di facciata o cose simili, ma visto che ho aperto il software per la prima volta qualche ora fa è meglio partire dalle basi,che sicuramente mi daranno già abbastanza grattacapi.
 
La cosa più saggia che mi è venuta in mente di fare,per semplicità ma anche per completezza, è un tavolo.
 
1 -    New - Family ------> seleziono dai template proposti Generic Metric Model.
 
2 -    Dal menù Home -----> Reference line, le pongo in modo mooooolto approssimativo.
Ho scelto reference line per puro intuito,perchè pensavo inizialmente di dover andare a stabilire degli assi su cui poi disegnare la sagoma del tavolo o posizionare le gambe, invece questa mattina mi è stato spiegato che la differenza tra reference line e reference plane sta nella visibilità in 3d delle reference line,mentre il piano rimane visibile solo nel prospetto dove è stato disegnato; questo quindi mi sarebbe potuto tornare utile in fase di estrusione o comunque di definizione delle altezze del tavolo, anche se in realtà non ne ho avuto un tangibile guadagno.
 
 
3 -    Cliccando sulle reference line mi compariranno le quote che segnalano la distanza dalle linee di riferimento principali; clicco sulla linea di costruzione della quota,e compare un'etichetta Label,in cui io posso selezionare Add parameter. Il parametro è esattamente quello che dice il nome,un criterio che regola qualcosa. Può essere fisso oppure dipendere da altri parametri. Dopo aver lavorato per un'oretta con queste cose ho capito che posso anche avere un unico oggetto che dipenda da un'unico parametro, infatti ho cambiato le dimensioni del tavolo che avevo scelto con delle proporzioni, partendo dal presupposto che se io volessi un tavolo più piccolo o più grande sarebbe dovuto rimanere proporzionale,però con l'altezza del piano costante e le dimensioni delle gambe non troppo assurde.
Ho fissato come distanza di quella che sarebbe stata la lunghezza del tavolo 2,immaginando fosse a scelta del disegnatore l'unità di misura,un po come in autocad in cui mentalmente mi stabilisco l'unità con cui stia disegnando e dopo scalando di conseguenza, ma i tratteggi risultavano troppo grandi,quindi intuii correttamente che le unità di misure fossero reali e dovessi cambiarle,infatti andando su Manage ----> Project unit vidi che l'unità era impostata in cm anzichè in metri,quindi pensai che andava bene così e andai a cambiare il numero in 200, e feci aggiungere dal menù l'estensione dell'unità di misura per evitare di incappare (almeno i primi tempi) in nuovi errori. Ho chiamato il parametro associato "lunghezza tavolo" e nel valore ho scritto il numero. La presenza del campo "formula" è quello che mi ha fatto ripensare al dimensionamento del tavolo, e attualmente posso dire sia stato il mio primo vero contatto con il mondo del parametrico.
Il secondo parametro creato infatti, "larghezza tavolo",anzichè scrivere il valore stesso ho preferito fissarlo come metà del valore di lunghezza,quindi con la formula larghezza tavolo/2. 
Tutti i successivi parametri sarebbero poi stati articolati secondo lo stesso criterio,tranne il parametro "altezza gambe", che ho preferito lasciare fisso a 80cm.
 
 
4 -    E' ora di creare il piano del tavolo, per cui dal menù Home----->Extrusion, perchè a priori so che il piano del tavolo chiaramente lo ricaverò da un'estrusione di un rettangolo. Avendo un pelo di conoscenze di modellazioni tridimensionali in Autocad so che l'altro approccio sarebbe potuto essere quello "booleano", di sottrazione di solidi dai solidi, ma sicuramente sarebbe stato più macchinoso,difficile,e probabilmente più errato. In questo modo intuisco invece che le gambe le posso disporre secondo una sorta di matrice,e dalle forme più svariate.
Dal pannello a destra Modify/create extrusion, posso selezionare le forme base da cui parte l'estrusione,in questo caso chiaramente scelgo un rettangolo e lo dispongo ad intuito lungo gli angoli del rettangolo da me creato,che ha già le dimensioni del tavolo. Nei valori di estrusione vedo che dove posso inserire il numero che indica l'altezza di estrusione a fianco è situato un bottone grigio,"parameter". Questo significa che posso andare ad aggiungere un criterio che regola pure un valore che influirà sulla tridimensionalità del mio oggetto! Questo mi permette di proseguire sulla strada che mi ero prefissato di proporzionalità dell'oggetto,e vado a creare un nuovo parametro che si chiama "spessore tavolo". Chiaramente più un tavolo è lungo più dovrà essere spesso ,quindi nonostante avessi potuto scegliere di fissare lo spessore del tavolo a 5 cm,lo fisso intuitivamente a 1/40 della lunghezza totale, così che sia 5 cm,come avevo pensato,ma dettato da una legge e non prefissato!
Purtroppo questo comporta una proporzionalità di tipo lineare,ovvero a un tavolo di 10 metri uscirebbe uno spessore di 25 cm, ma cosa ancor più scomoda,a dei valori intermedi di lunghezza,tipo 3.5m ,uscirebbe uno spessore di 8.75 cm, cifrà non molto sensata visto che andiamo nel campo dei decimi di millimetro. L'ideale per me sarebbe discretizzare il campo,in modo che da uno spessore di 8,75 si abbia un'approssimazione a 10cm, però (sempre che si possa fare) questo comporterebbe la scrittura di una formula non lineare ma di programmazione,tipo if/else,tipiche dei linguaggi informatici. Per adesso ci accontentiamo di questa approssimazione,tanto sta al progettista stabilire una lunghezza per cui lo spessore non esca troppo strano.
 
 
NB: A lezione il professor Converso ha detto che nella scorsa lezione era stato suggerito di disegnare prima casualmente il rettangolo di estrusione,e poi con il comando Align(allinea) appunto allinearlo alle reference line. Ho chiesto il perchè dovesse essere fatto in questo modo, non essendo stato alla lezione precedente. Il mio unico dubbio era che fosse più un accorgimento per un corretto iter progettuale piuttosto che per la effettiva riuscita dell'estrusione. Stefano Guarnieri successivamente è venuto da me per spiegarmi nel dettaglio la risposta alla mia domanda,che aveva numerose sfaccettature. In effetti la spiegazione era simile a quanto avevo intuito,ovvero che in progetti più complessi non era affatto detto che il rettangolo andasse a snappare perfettamente lo spigolo di intersezione delle reference line,mentre se io successivamente li avessi allineati sarebbero stati in relazione perfetta,senza sbavature.
 
5 -    Associata l'estrusione al parametro spessore abbiamo il nostro solido che rappresenta il piano del tavolo. Il passo successivo è la creazione delle gambe del tavolo. Inizialmente ero un po spaventato dal come affrontare la relazione parametrica che le lega al tavolo,ma senza scoraggiarmi ho creato sempre nella vista dall'alto delle reference line che andassero a definire la maglia rettangolare ai cui angoli avrei posizionato gli assi delle gambe. Seguendo quindi il procedimento adottato nel punto 2 ho fatto casualmente 4 linee,a 2 a 2 parallele ovviamente,che andassero a definire un rettangolo nella loro intersezione,interno al tavolo.
Con lo stesso procedimento quindi ho selezionato le quote che distanziano le nuove reference line dal rispettivo lato parallelo più vicino e gli ho assegnato un nuovo parametro,chiamato "distanza gambe dal bordo", a cui indicativamente ho dato una formula Lunghezza tavolo/10. Solo ora mentre scrivo mi viene in mente che forse avrei potuto fare un offset del perimetro del rettangolo che costituisce il piano del tavolo,per poi andare a parametrizzare solamente il valore di offset anzichè le 4 distanze,ma forse non è possibile,anche perchè non parliamo di line di riferimento ma di una geometria,cosa non tanto in linea con quella che mi sembra la concezione di Revit da quanto ho imparato sinora.
 
 
6 -    Home----> extrusion e vado a disegnare dei cerchi di raggio (indicativo) 5cm nelle intersezioni delle nuove reference line. I quattro cerchi che andranno estrusi con un valore fisso di 80cm,come stabilito all'inizio, dovranno avere come parametro associato al raggio un nuovo rapporto, Distanza gambe dal bordo/4, che poi è la stessa cosa che scrivere Lunghezza tavolo/10/4, infatti la dimensione che esce è la stessa dello spessore del tavolo. Avrei potuto porre tutto nei confronti della lunghezza,ma lo lascio così per far luce anche a me stesso su quale strada abbia adottato per le misure.
E qui sono sorti i primi problemi, perchè andando a estrudere le gambe esse intersecavano il tavolo stesso, essendo il piano del tavolo disegnato su un livello a quota altimetrica 0,e avvenendo l'estrusione verso l'alto. Ho provato a fare un'estrusione inserendo un valore negativo allora ma non me lo riconosce, probabilmente perchè come constatato sulla mia pelle precedentemente sono valori reali e non fittizi. Ho risolto andando a mettere nei valori di Extrusion start/extrusion end -80cm e 0, così non ho inserito un valore negativo per una misura,cosa impossibile,ma solo una quota rispetto a un piano convenzionale.
 
 
 
7 -   Ho salvato la famiglia come Tavolo prova 1, e ho creato altre 3 tipologie per vedere se il mio lavoro si è svolto correttamente. Avendo io stabilito dei rapporti relazionali anzichè dei valori assoluti mi è bastato cambiare di volta in volta il valore della lunghezza del tavolo per avere diverse dimensioni.
 
 
NB: questa è la prova della corretta parametrizzazione della famiglia,e avendo io sabilito dei rapporti di proporzionalità lineare talvolta l'operazione può apparire semplicemente come la scala del piano del tavolo lungo due dimensioni, non cambiando la proporzione del piano. Forse sarebbe più chiara la potenza del mezzo andando a fissare l'area del piano e porre una delle due dimensioni tra larghezza/lunghezza come risultato dell'operazione Area/dimensione, in modo che la forma del piano cambi,ma il funzionamento del tutto spero di averlo reso abbastanza chiaro,nel caso farò un edit uno di questi giorni in cui faccio vedere il risultato di questo accorgimento.
 
8 -    Questo è lo step che avrei voluto realizzare al termine della famiglia, una volta constatata l'effettiva riuscita: vorrei fare in modo che a seconda delle dimensioni finali del tavolo gli venga assegnato un materiale piuttosto che un altro, con un ragionamento tipo "Se il tavolo è inferiore a 2m di lunghezza fallo di vetro,se è compreso tra 2 e 4 fallo di pietra,se è tra 4 e 6 fallo di legno", ma Stefano Guarnieri dopo averlo abbastanza torturato con domande per compensare la mia assenza alla lezione precedente mi ha detto che è un livello di difficoltà successivo,perchè entrano in gioco variabili booleane e appunto codici come if/and e cose simili,quindi rimando la questione materiale a una delle prossime esercitazioni!
 
 
Considerazioni: - Necessità di stabilire un corretto workflow fin dall'inzio.
                              - Possibilità di parametrizzare molte variabili in modi lineari e non,in tutte e 3 le dimensioni.
 
Problemi:           - Attualmente solo di natura tecnica riguardo l'esecuzione, nulla rilevato riguardo limiti del software.
 
Per domande e precisazione vi lascio allo spazio dei commenti!
 
Marco Vanetti
CATEGORIE: 
Technology: 

Commenti

Ho editato il testo e ho cercato di renderlo più leggibile con grassetti e corsivi, visto che è un bel tomo di roba e spesso cose che magari sembrano banali; ho cercato di scrivere tutto il possibile in modo che io stesso mi ricordi le cose fatte e riesca a risalirci nel caso mi servisse! Grazie per la pazienza a chiunque abbia la voglia di leggerlo tutto!

Marco