Tre domande che ti sei già fatto#
Se hai scritto anche un solo script per Revit, o ne hai letto uno scritto da altri, tre cose ti hanno fatto alzare un sopracciglio. Perché devo aprire una transazione ogni volta. Perché le unità dentro Revit sono in piedi, se il progetto è in millimetri. Perché su una macchina a sedici nuclei, quando il modello ricalcola, ne lavora praticamente uno.
Nessuna delle tre ha una risposta tecnica. Hanno una risposta storica.
Ogni software è un mucchio di decisioni congelate#
Le regole che sembrano arbitrarie sono scelte fatte fra il 1963 e il 2002, da gente con nome e cognome, che nessuno ha più potuto disfare senza rompere quello che c'era sopra. E teniamo separate due cose: lo strumento, il software che disegna, e il metodo, trattare l'edificio come una base di dati. Revit è lo strumento. Il BIM è il metodo, e lo precede di decenni.
Gli strati#

- 1963. Al MIT Ivan Sutherland fa Sketchpad: forme che obbediscono a vincoli. Muovi una linea, l'altra si aggiusta. È il seme del parametrico.
- 1975. Charles Eastman descrive il Building Description System: l'edificio come base di dati di elementi con forma, attributi e relazioni, da cui piante e sezioni escono da sole. È il BIM, ventidue anni prima di Revit.
- 1984. A Budapest Gábor Bojár lancia Radar CH, poi ArchiCAD, finanziandolo con i gioielli della moglie e computer Apple portati oltre la Cortina di Ferro.
- 1988. La PTC lancia Pro/ENGINEER, il CAD meccanico parametrico. Cambi una quota, il pezzo si ricostruisce. Solo per i pezzi meccanici.
- 1992. L'espressione «building information model» compare per la prima volta in un articolo.
I due matematici#

A Halloween del 1997 fondano la Charles River Software a Newton, Massachusetts. La loro domanda non era «come disegno più in fretta», era «come faccio reagire tutto l'edificio a una modifica». Nel 2000 esce Revit 1.0: il nome è la contrazione di Revise Instantly. Nel 2002 Autodesk compra tutto per 133 milioni di dollari, e pubblica il white paper che dà al metodo il nome BIM.
Le tre decisioni#


- Il modello è un database, non un disegno. Il file .rvt non contiene linee: contiene oggetti con proprietà e relazioni. La geometria è una conseguenza.
- Le relazioni formano un grafo di dipendenze. Ogni elemento sa da chi dipende; cambi un nodo e il motore ricalcola i dipendenti nell'ordine giusto.
- La coerenza vale più della velocità. La quota non si aggiorna prima che il muro abbia la posizione nuova; la vista non si ridisegna prima della quota; l'abaco dopo la vista. Una catena così non si spezza fra tanti lavoratori.
Ecco perché il cuore di Revit è nato ed è rimasto single-thread. Quel «Not Responding» nella barra del titolo non è un guasto: è il motore che percorre la catena e ti ridà il controllo quando l'ultimo anello è coerente. Consiglio pratico: per Revit conta più la frequenza di un nucleo che il numero di nuclei.
Le tre Leggi#

- Il modello è un database, 1997: le modifiche vogliono una Transaction. O tutto, o niente.
- Software americano, anni Novanta: dentro le unità sono i piedi e gli angoli in radianti. Un piede è 0,3048 metri; 32,8 piedi sono dieci metri tondi. Il pannello converte per te, l'API no.
- Tutto è un oggetto e ogni oggetto ha un tipo: tipo e istanza. Il tipo è la ricetta, l'istanza è il pezzo. Tocchi il tipo, cambiano tutte le istanze.
Il grafo, e i sette ponti#

Da qui tre conseguenze pratiche: si scrive solo dentro una transazione; un comando alla volta, nell'ordine del grafo; si naviga sempre lungo le frecce, da un'istanza al suo tipo, da una stanza ai suoi confini.
Guarda il video#
Sedici minuti con le date, i nomi e le facce: Sketchpad, Eastman, Bojár, la scatola di Revit 1.0, il Task Manager letto con onestà, i piedi dal vivo, RevitLookup e il grafo che si anima. Non serve saper programmare.
Il video completo è su YouTube: se ti è piaciuto, iscriviti al canale e attiva la campanella per i prossimi episodi.
Domande o commenti?
Le domande sui video e sul libro sono benvenute: scrivimi, o commenta sotto il video su YouTube.
Su LinkedIn pubblico ogni video del canale, con due righe in più.


