Revit è un CAD!?
Nel precedente articolo (che trovi qui) ci siamo lasciati chiedendoci: che differenza c’è tra un software CAD, come ad esempio AutoCAD, e un BIM Authoring come Revit? La risposta è molto semplice: c’è tutta la differenza di questo mondo.
Ma se al contempo vi dicessi che i BIM Authoring, quindi anche Revit, sono dei software CAD? Probabilmente potreste sospettare che io sia affetto da un disturbo dissociativo dell'identità, dato che affermo un qualcosa per poi apparentemente contraddirmi, ma credetemi così non è.
Se Revit, Allplan, Tekla, ecc. sono CAD come AutoCAD, Rhinoceros, ecc, di grazia, dov’è tutta questa diversità?
In breve, possiamo affermare che la differenza sta nel modo in cui le due tipologie di software CAD sono programmate, Revit è un CAD ma non è la stessa tipologia di CAD di AutoCAD. In maniera più specifica, da un punto di vista strettamente informatico, possiamo definire questa differenza dichiarando che:
«I software di BIM Authoring 3D, cosi come i CAD 3D tradizionali, sono applicativi progettati stilisticamente con il paradigma della programmazione orientata a gli oggetti [1], ma i primi si distinguono dai secondi perché le classi [2] e i relativi oggetti [3] hanno come dominio [4] di appartenenza il mondo AEC (Architecture, Engineering, Construction), diversamente dai secondi che utilizzano come dominio di appartenenza per classi e oggetti, lo spazio geometrico astratto».
La definizione appena fornita spiega tutta la differenza che intercorre tra un CAD 3D tradizionale e un BIM Authoring 3D. Tuttavia, soprattutto per chi non è avvezzo al mondo IT, la medesima definizione può risultare un po’ ostica, quindi è necessario fare un breve excursus senza addentrarci troppo in nozioni di tipo informatico.
Brevemente, cos’è un applicativo programmato in maniera orientata agli oggetti? Nel mondo dell’informatica è un software strutturato logicamente in entità astratte, denominate classi, che concorro a creare oggetti. Provando a tradurre tale concetto in termini pratici, possiamo immaginare le classi come specifici contenitori ‘immateriali’, ‘immagazzinati’ nel codice sorgente [5], in cui sono rinchiusi tutti i dati e le procedure che istruiscono un software alla creazione di uno o più specifici oggetti ‘reali’. Lo scopo pratico delle classi in un programma OOP è quello di essere richiamate dal software durante la sua esecuzione, per creare degli oggetti che avranno tante proprietà quante sono le proprietà astratte definite nella classe. Facendo un parallelo con la filosofia di Kant, le classi rappresentano il parallelo informatico delle “forme pure a priori”, sono quindi entità prive di ogni materialità e peculiarità di oggetto reale, ma comunque conservano tutti i concetti primigeni che ne portano alla creazione. Nell’immagine allegata al presente articolo è rappresentata una esemplificazione di questa differenza tra classi e oggetti (istanze).
Sulla base di quanto appena illustrato e rileggendo la definizione precedentemente data, possiamo dire che i BIM Authoring 3D sono software CAD di nuova generazione, specificamente pensati e programmati per il mondo delle costruzioni. Le classi e gli oggetti generati, tramite l’utilizzo delle stesse, sono entità tipiche del mondo AEC e creano/gestiscono/riconoscono gli oggetti come di alter ego virtuali di muri, solai, finestre, ecc. (oggetti AEC); le classi con cui sono programmati sono definizioni astratte di tutte le proprietà e i comportamenti che caratterizzano, nel mondo reale, gli oggetti AEC.
Al contrario, i software CAD tradizionali (come AutoCAD) sono programmati, quindi conoscono e richiamano classi differenti quali: la classe linea, la classe polilinea, la classe arco, la classe cubo, la classe sfera, ecc. Questa differenza sintattica è motivata dal fatto che i software CAD classici non sono pensati per uno specifico utilizzo, al contrario dei BIM Authoring, ma sono generici software di disegno digitale, il cui scopo è quello di creare generiche forme geometriche.
Se la differenza tra i CAD 3D tradizionali e i BIM Authoring 3D si limita, da un punto di vista strettamente informatico, ad una diversità di linguaggio (metaforicamente parlano lingue diverse), dal punto di vista degli attori del processo edilizio tale diversità non è fine a sé stessa, ma è finalizzata a produrre un aiuto concreto alla progettazione e alla gestione del processo edilizio. Infatti, con il passaggio da un workflow basato su un modello 3D costruito con software CAD tradizionale, a un workflow basato su un modello 3D costruito con software di BIM Authoring, si passa da una rappresentazione virtuale del cespite immobile costruita mediante un insieme di primitive geometriche tridimensionali (CAD), a una modellazione di oggetti tridimensionali che simulano l’immobile reale nello spazio virtuale mediante oggetti virtuali, dotati delle stesse proprietà dei corrispettivi oggetti nel mondo reale (BIM).
Se in un software CAD tradizionale con il comando parallelepipedo si può modellare concettualmente un qualsiasi oggetto, sia esso un parallelepipedo che nominiamo pilastro o un parallelepipedo che nominiamo pavimento (ma sempre parallelepipedi rimangono), in un software di BIM Authoring esistono specifici comandi per generare un pilastro o un pavimento, tutti gli oggetti sono univocamente definiti e non sono un ensemble di parallelepipedi sostanzialmente indistinguibili.
Grazie a ciò, il software di BIM Authoring è capace di interagire attivamente con qualsiasi attore del processo edilizio, aiutandolo in innumerevoli necessità, da quelle progettuali (ad es. ti è impedito avere un muro disposto in orizzontale) a quelli gestionali. Questo fa sì che la sigla CAD, per un software di BIM Authoring 3D, vada intesa come acronimo di computer-aided design (lett. "progettazione assistita dall'elaboratore") perché sono software realmente capaci di aiutare il progettista. Al contrario, la sigla CAD per i software CAD tradizionali, va intesa come acronimo della locuzione computer-aided drafting (lett. "disegno tecnico assistito dall'elaboratore"), perché questa tipologia di software altro non sono che la versione informatica dello storico tecnigrafo, applicato al mondo dell’edilizia.
Entrambe le tipologie di software sono quindi software CAD, ma non lo stesso tipo di CAD.
Da questa differenza, da questo cambio di tipologia di software, nasce tutto il BIM. Infatti, i Modelli Informativi creati alla base con i BIM Authoring 3D sono modelli intelligenti e capaci di stabilire un dialogo univoco e bidirezionale tra un oggetto reale e il suo alias virtuale, una volta che l’oggetto progettato viene realizzato. L’intero modello informativo quindi diventa l’alias virtuale del cespite immobile reale.
Questo è il BIM!
Non è disegnare in 3D, perché anche i CAD tradizionali sono 3D.
Non è disegnare in 3D in maniera parametrica, perché anche i CAD lo fanno (vedi ad esempio Grasshopper).
Non è un modello 3D generato da un generico software con programmazione orientata ad oggetti, perché, come detto in precedenza, quasi ogni software CAD e programmato così, ma non sono tutti software di BIM Authoring.
Non è prendere un database di informazione e appiccicarlo dentro un generico solido 3D.
Il BIM è un metodo fondato sull’utilizzo dello strumento Modello Informativo, che è un oggetto reale modellato nel virtuale con l’ausilio di software che lo plasmano nelle sue sette dimensioni, partendo dall’utilizzo di una modellazione tridimensionale in cui gli oggetti non vengono letti/trasmessi/riconosciuti come appartenenti a un dominio geometrico, ma come oggetti facenti parte del dominio AEC.
Questo è il BIM!
A questo punto mi potreste dire: «bene, ho capito cosa è il BIM, ma oltre a questioni di linguaggio, che possiamo mettere su un piano quasi ideologico, quali sono i vantaggi economico/pratici di modellare oggetti muro anziché modellare oggetti parallelepipedo che per me sono muro? Che vantaggi ho ad avere l’alias virtuale del mio cespite immobile?» La risposta è nuovamente: «tutta la differenza del mondo!», ma ne parleremo nel prossimo articolo.
[1] https://it.wikipedia.org/wiki/Programmazione_orientata_agli_oggetti
[2] in senso metaforico prendendo l’accezione di classe dalla tassonomia https://it.wikipedia.org/wiki/Classe_(tassonomia) e in senso esplicito l’accezione informatica di classe https://it.wikipedia.org/wiki/Classe_(informatica)
[3] https://it.wikipedia.org/wiki/Oggetto_(informatica)
[4] prendendo in presto l’accezione tassonomica del termine dominio https://it.wikipedia.org/wiki/Dominio_(biologia)