Blocchi puliti
I blocchi sono un elemento fondamentale nella produzione CAD, consentono di evitare moltissime ripetizioni, alleggeriscono i file, consentono l'estrazione di dati e molto altro. Ancora oggi li vedo usati male o, con mia grande angoscia, mi imbatto in quelli generati da Revit che sono inutilizzabili.
Vediamo come ottimizzarli.
Anzitutto distinguo due grandi famiglie di blocchi, che andranno trattati in maniera molto differente:
- blocchi semplici, come un sanitario, arredo, porta, i cui elementi tipicamente appartengono ad un unico layer.
- blocchi complessi, creati con elementi appartenenti a diversi layer, come ad esempio camere d'albergo, bagni interi, o sezioni di solaio eccetera. Possono contenere blocchi a loro volta.
Punto d'inserimento, unità di misura e nome
Per entrambi anzitutto cerchiamo di definire un punto d'inserimento sensato (in particolare uno intorno a cui possa essere sensatamente scalato o specchiato, volendone eventualmente scalare o ribaltare tutte le istanze con un click): non lasciate scegliere al cad l'origine 0,0 del disegno. Così come sarebbe furbo non creare blocchi inclinati (partendo ad esempio da una porta disegnata su un muro a 45°) ma orientati in orizzontale o verticale.
Quando la ca**ata sia stata ormai fatta, consiglio il meraviglioso autolisp “Change Block Base Point” per reimpostare il punto di inserimento del blocco senza che spostarne le varie istanze, perché se lo ridefinissi nel block editor, dopo averne già inseriti un po', le istanze si troverebbero poi tutte fuori posto del medesimo spostamento.

Altra attenzione è settare correttamente l'unità di misura: in questo modo inserito in un disegno con unità diversa scalerà automaticamente.
Cerchiamo pure di dare un nome sensato al blocco: anche partendo da un “copia+incolla come blocco”, tra un file e l'altro, andiamo poi a rinominarlo con l'apposito comando rename. Altrimentii sarà difficile riutilizzarlo, estrarre informazioni eccetera.
Blocchi semplici
Il blocco semplice come può essere un sanitario, un arredo, un simbolo grafico, persona o automobile, va disegnato nel layer zero, e successivamente inserito nel layer corretto (sanitari, arredi e così via). Questo consente una corretta accensione/spegnimento dei layer anche al click con gli appositi comandi layoff, layfrz eccetera.
Andrebbero inoltre creati con tutte le caratteristiche (colore, tipolinea etc.) bylayer, o meglio ancora byblock, cosa che garantisce la possibilità di cambiarli nelle singola istanza (può tornare utile ad esempio mettere un tavolo in posizione alternativa a tratteggio mantenendolo nel layer arredi).
Se si creasse il blocco nel layer arredo, ad esempio, si potrebbe poi fare l'errore di inserirlo o spostarne le istanze in altri layer e non avere il feedback del colore sbagliato, correndo il rischio di accenderli e spegnerli in maniera non controllata (magari l'ho inserito in un layer non plottabile), perché quello rimarrebbe del colore del layer arredo anziché di quello in cui l'ho inserito.
Blocchi complessi
Un blocco complesso è un disegno completo con oggetti in divesri layer e proprietà, inclusi altri blocchi: esempio classico un appartamento che si ripete tal quale nella pianta, o la camera d'albergo.
Per questi l'unica raccomandazione (oltre a punto d'inserimento e nome) è di inserirli sul layer zero, sempre perché è poi più facile controllarne l'accensione e spegnimento di singoli layer con un click.
In alcuni casi può essere conveniente avere un layer apposito.
Blocchi e field
In un blocco si può inserire un attributo con un field "autoreferenziale" insert→field→block placeholder, ad esempio che produca le coordinate del punto d'inserimento, o il proprio colore, o layer d'inserimento.
Ad esempio, come ho scritto altrove, io disegno prospetti e sezioni alla loro quota effettiva, quindi le quote altimetriche si potrebbero già inserire con la troppo poco usata "quota coordinata y" dimordinate senza errori. Però quella non è la grafica standard, quindi mi sono fatto un blocco come piace a me che include la propria coordinata Y, e dove lo metto stampa la quota dell'altezza di quello che sto quotando, senza i rischi e la rottura di palle dell'editing manuale, o peggio quando vanno aggiornate per una modifica del progetto.
Certo se uno sposta il disegno in altre coordinate salta tutto, per prevenire simili caproni si può rendere definitivo il valore del field facendo girare un lisp che potete trovare online, ma perdete tutti i vantaggi degli automatismi.

Oltre alla quota suddetta, altri esempi sono:
- un blocco "esempio" per catalogare i layer, in cui il nome del layer, appunto, esce in automatico
- far comparire la larghezza o il verso di apertura di un infisso dalla proprietà larghezza o flip dinamica
- usare un field formula per aggiungere alla quota altimetrica di cui sopra anche la quota sul livello del mare
eccetera
Ricordasi che per vedere i field aggiornati occorre rigenerare.
Blocchi annotativi
Come per quote e testi, il bocco annotativo scala automaticamente nelle viewport (o scompare) per le scale selezionate. Lo si può anche impostare per orientarsi automaticamente secondo la vista, quindi apparire ad esempio sempre orizzontale, anche in viewport ruotate.
Blocchi dinamici
I blocchi dinamici richiederanno più di un post. Possono essere estremamente complessi, ma ci sono alcuni principi abbastanza semplici. Naturalmente le funzioni dinamiche si progettano nell'ambiente specifico: il block editor.
Parametro allineamento
L'automatismo per allineare un blocco a un altro elemento è il più fesso perché non richiede alcuna action (programmazione): basta prendere il parametro alignment e piazzarlo al posto giusto, salvare il blocco

et voilà: il gabinetto (la porta, l'arredo…) si allinea automaticamente alla parete.

Ridefinizione dei blocchi
Se in un file ho editato un blocco in una maniera diversa che un altro file (ad esempio la porta al primo piano è più fica di quella che avevo fatto precedentemente all'interrato), purché il punto d'inserimento, scala etc. siano stati rispettati, par aggiornare il secondo vi ricordo l'uso di ctrl+2.
Altre proprietà

Il blocco diventa dinamico appena gli si aggiunge qualche parametro, mentre lo si rende annotativo spuntando l'apposita casella nella palette delle proprietà nel block editor quando nulla è selezionato (si può fare anche al momento della creazione). Nella setssa sezione si trova l'opzione match orientation di cui ho parlato più sopra e l'unit à di misura, se va corretta.
Non trascurate neppure le utili scale uniformly e allow exploding che io d'abitudine setto rispettivamente su yes e no, perché è raro che abbia bisogno di blocchi scalati non uniformemente (anzi se devo scalarli preferisco inserire il valore una volta anziché tre per x, y e z), e perché non voglio che i collaboratori accidentalmente esplodano i blocchi.
Talvolta uso anche la descrizione, magari per inserire il modello di wc esatto che rappresento, o la misura della terza dimensione per blocchi bidimensionali, ed eventualmente si può inserire anche il link al catalogo online del produttore (o al proprio sito web, per esempio per il logo nel cartiglio), link che funziona anche nei pdf creati dal cad.