#07 | La Famiglia nella Famiglia: quando nidificare è la scelta più intelligente
Umberto RinaldiShare
C'è un momento preciso in cui capisci che qualcosa non va.
Stai lavorando a una famiglia che sembrava semplice. Un mobile, un elemento d'arredo, qualcosa con qualche parametro e qualche dimensione variabile. Ma poi arriva il cassetto. E la maniglia. E la guida di scorrimento. E a un certo punto ti ritrovi a scorrere un albero di reference planes che sembra la mappa di una metropolitana, con parametri che si chiamano Larghezza_Cassetto_2 perché Larghezza_Cassetto esisteva già, e non ricordi più bene perché — e se vuoi capire perché uno scheletro robusto di Reference Planes fa la differenza, ne ho parlato in dettaglio in ITF#04 | Reference Planes e Reference Lines: la spina dorsale invisibile di una famiglia robusta.
Modificare un parametro diventa un'operazione a rischio. Ogni cambio può rompere qualcosa altrove. La famiglia funziona, ma è diventata un organismo che hai paura di toccare.
Se ti sei trovato in questa situazione, questo episodio è per te.
Una famiglia dentro un'altra famiglia
Prima di entrare nella logica, una definizione rapida: una famiglia nidificata è semplicemente una famiglia caricabile inserita all'interno di un'altra famiglia caricabile. La famiglia esterna si chiama host, quella interna è la nidificata o nested family.
Non è una funzione nascosta o una tecnica riservata agli esperti. È un modo di pensare la modellazione per componenti separati invece che per masse monolitiche. E come ogni scelta progettuale, ha vantaggi precisi e rischi altrettanto precisi.
Il vantaggio principale: modularità e riuso
Pensa a una scatola di mattoncini Lego. Ogni pezzo è autonomo, ha una forma precisa, si aggancia in modo prevedibile. Quando costruisci qualcosa di nuovo, non reinventi il mattoncino — lo prendi dalla scatola e lo usi.
Le nested families funzionano esattamente così. Immagina di avere una cartella con una collezione di componenti pronti: cassetti in diverse altezze, maniglie di vari tipi, guide di scorrimento, gambe intercambiabili. Ogni file è una famiglia autonoma, testata, che funziona da sola.
Quando costruisci un nuovo mobile, non riparti da zero. Prendi il cassetto dalla cartella, lo nidifichi nella nuova famiglia host, e lui si adatta. Lo stesso cassetto che usi nel comodino puoi usarlo nella scrivania o nel mobile TV. La geometria, i parametri, le sottocategorie — tutto è già lì, già pensato.
Questo è il vantaggio più grande delle nested families: la modularità. Costruisci una volta, riusi molte volte.

Nel comodino della collezione Marketplace questo approccio è applicato in modo diretto. Il cassetto è una famiglia autonoma, con la propria geometria e i propri parametri. La maniglia è nidificata dentro il cassetto — quindi è una nidificata dentro una nidificata. La guida metallica di scorrimento è una famiglia separata, con una logica costruttiva propria. Tre mattoncini distinti, ognuno con la sua identità, che insieme formano un sistema coerente.
Il vantaggio nascosto: flessibilità parametrica
Le nested families non sono elementi statici "incollati" dentro la host. Sono componenti vivi, i cui parametri possono dialogare con quelli della famiglia esterna.
Prendiamo l'altezza del cassetto. Se la imposti come instance parameter nella nested families, e la colleghi a un parametro corrispondente nella host, ottieni qualcosa di potente: puoi avere due cassetti con altezze diverse all'interno dello stesso comodino, senza duplicare alcuna famiglia. Una singola nested family, usata due volte, con valori di istanza differenti. La flessibilità si moltiplica senza aumentare la complessità del file.

La guida di scorrimento spinge questo concetto ancora più avanti. È composta da due pezzi: uno fisso e uno che scorre, la cui lunghezza varia seguendo l'apertura o la chiusura del cassetto nella host. Il movimento non è simulato — è parametrico. La guida risponde in tempo reale alle modifiche della famiglia che la contiene.
E poi c'è un dettaglio che vale la pena sottolineare: la guida è modellata con un'origine specifica — asse Back e asse Left — e al momento della nidificazione viene specchiata. Un solo mattoncino, usato su entrambi i lati del cassetto. Zero ridondanza.
Anche i materiali seguono questa logica. Sono parametrici nelle nidificate, e possono essere controllati direttamente dalla famiglia host. Vuoi cambiare il legno del cassetto? Lo fai una volta, dal comodino. Non devi entrare nella nested family.
Il lato oscuro: peso e complessità
Nidificare ha un costo, ed è giusto dirlo.
Ogni nested family porta con sé la propria geometria, i propri parametri, le proprie sottocategorie. Più nidificate aggiungi, più il file cresce. In una collezione con molte varianti — e quindi molte istanze delle stesse nidificate — questo peso si accumula. Non è un problema che si vede subito, ma si sente quando il progetto scala o quando le nidificate si annidano su più livelli.

Il secondo aspetto da tenere presente è la complessità di manutenzione. Una famiglia monolitica, per quanto ingombrante, vive in un unico file. Una struttura con nidificate è un sistema: modificare la geometria di un componente richiede di aprire la famiglia corretta, fare la modifica, ricaricarla nella host. È un flusso gestibile — ma va conosciuto. Chi lavora in team deve sapere come è strutturata la famiglia per non intervenire nel posto sbagliato.
La scatola dei Lego è potente proprio perché i pezzi sono separati. Ma separati vanno anche tenuti in ordine.
Il consiglio Inside the Files
Nidifica quando un elemento ha vita propria.
Se puoi immaginarlo in un'altra famiglia, in un altro progetto, in un altro contesto — nidificalo. Se esiste solo in quella famiglia e non lo riutilizzerai mai altrove, chiediti se la complessità aggiuntiva vale davvero il risultato.
La cartella delle nidificate pronte all'uso non è un lusso da professionisti avanzati. È un metodo di lavoro. Prima la costruisci, prima smetti di ricominciare da zero ogni volta.
Le nested families non risolvono tutti i problemi di modellazione. Ma risolvono uno dei problemi più frustranti: la famiglia che diventa troppo grande per essere gestita con lucidità.
Separare per controllare meglio. Costruire per componenti invece che per accumulo. È la stessa logica con cui si progetta qualsiasi sistema complesso che deve funzionare nel tempo — in architettura, in ingegneria, e in ogni disciplina in cui la manutenibilità conta quanto la funzionalità.
Nel prossimo episodio tecnico entreremo dentro la costruzione: come si impostano gli assi, come si passano i parametri dalla host alla nidificata, come si gestisce la specchiatura. Per ora, la domanda da portarti a casa è una sola:
La tua famiglia sta diventando difficile da toccare? Forse è il momento di separarla.