Il blog BIM di Archicad

L'identità dell'oggetto nel formato IFC

Scritto da Hilario Bourg | Aug 22, 2019 7:00:00 AM
Tutto quello che c'è da sapere sul formato IFC - pt. 2

Prima di conoscere le caratteristiche del formato IFC, è utile comprendere che cos'è e a quali esigenze risponde nel contesto del BIM: per chi non l'avesse ancora letto, suggeriamo di leggere la prima parte introduttiva.

Quali fattori caratterizzano il formato IFC? Sono numerosi (circa 800 entità e altrettante relazioni) ma possiamo individuare in estrema sintesi quattro principi fondamentali: 

  1. Gli oggetti hanno una precisa identità;
  2. Sono in relazione fra loro;
  3. Hanno una determinata geometria;
  4. Contengono determinate informazioni.

Se il vostro modello non possiede queste caratteristiche, allora semplicemente non è un modello BIM.

Parliamo infatti di IFC come di entità "semantiche", ogni elemento ha cioè un significato rispetto all'insieme che può essere compreso anche da altre applicazioni.

Utilizzeremo le quattro categorie individuate come traccia per approfondire la tematica IFC in 4 articoli distinti. Cominciamo ora con la prima caratteristica: -

1- IDENTITÀ

Cosa ci fa dire che un muro è effettivamente un muro? L’aspetto è sicuramente un criterio valido nella quotidianità ma non sufficientemente rigoroso nel mondo del BIM. Un muro è effettivamente tale perché, ad esempio, ospita porte e finestre, poggia su un solaio o una trave (e può sostenere a sua volta altri elementi), ha una determinata collocazione nello spazio, funge da demarcazione fra spazi diversi e fra interno ed esterno, ecc.. Ma soprattutto perché gli è stata assegnata un' identità a seconda dell'uso e scopo del modello.

Il più delle volte l’associazione di un componente al tipo IFC più opportuno avviene automaticamente e il progettista non ne è nemmeno al corrente, almeno nelle fasi iniziali del progetto. Quando invece il progetto entra nella fase del coordinamento disciplinare diventa importante riconoscere alcune specificità; queste dipendono da due ordini di fattori che derivano dal processo BIM più che dal modello stesso:

  • L’uso del modello: un muro di partizione interna è ininfluente ai fini del calcolo strutturale e quindi non viene nemmeno preso in considerazione; ai fini della manutenzione una partizione viene sì valutata per la sua funzione di delimitazione degli spazi ma, nel caso di un ufficio questa può essere ottenuta con elementi di separazione ascrivibili a sistemi di arredo piuttosto che alla categoria dei muri.
  • La fase di sviluppo: in una fase preliminare del progetto probabilmente non ci interessa stabilire le caratteristiche dell’elemento e quindi una classificazione generica è assolutamente funzionale a quello stadio di sviluppo.

 

Un oggetto in IFC è definito dalle relazioni che istituisce; queste sono essenzialmente di due tipi: “part of” e “type of”. Un elemento che è costituito da strati di materiali diversi (“type of”, cioè “è del tipo di”) e che contiene una finestra (la quale è “part of”, “fa parte di”) eredita da ognuno di questi attributi informazioni tali che necessariamente lo definiscono come un elemento muro. Gli elementi non sono enumerati in una successione continua come in un elenco ma sono organizzati per classi di insiemi nidificati secondo una logica classificatoria. Questa viene esplicitata con la codifica cosiddetta EXPRESS - G che evidenzia le interdipendenze e le gerarchie fra gli elementi e i sub elementi.

In linea spessa sono indicati i caratteri ereditati/trasmessi che sono quelli che definiscono l’oggetto: l’entità “persona” può avere due caratterizzazioni, maschio o femmina. Queste sono ancora Persone il cui Genere è però definito; come attributo opzionale di una dei due generi possiamo stabilire la genitorialità. Assegniamo infine un nome al livello della Persona, perché ogni persona ha un nome indipendentemente dal genere e dalla genitorialità.

Con il termine “Oggetto” in Ifc (IfcObject) non intendiamo soltanto degli oggetti fisici ma consideriamo anche entità astratte quali gli Spazi, i Processi, le Risorse, ecc. Ogni Oggetto è in relazione con gli altri oggetti e con il tutto in base alle relazioni che istituisce e agli attributi che riceve, sia in eredità da oggetti di livello superiore che al suo stesso livello.

La Definizione degli oggetti dipende dalle relazioni che istituisce con altri oggetti (aggregazione di più oggetti o assegnazione di altre entità) o con entità esterne a cui gli oggetti possono essere associati ereditandone talune caratteristiche; approfondiremo questi aspetti con il prossimo articolo espressamente dedicato alle relazioni.

Ogni oggetto ha un proprio nocciolo di informazioni detto IfcRoot che costituisce il numero minimo di informazioni che un oggetto deve avere: il GUID (Globally Unique Identifier) è il codice unico generato dai software e assegnato ad ogni oggetto indipendentemente dalla sua natura, un proprietario (IfcOwnerHistory), un Nome e una Descrizione.

Gli elementi sono definiti secondo questa gerarchia:

Gli elementi comunemente usati nella modellazione (muri, solai, ecc) rientrano nella categoria IfcBuildingElement, mentre gli altri elementi sono:

IfcCivilElement: tutti i manufatti di ingegneria infrastrutturale come strade, ponti, tunnel, ecc.
IfcDistributionElement: sono i sistemi impiantistici.

IfcElementAssembly: comprende delle particolari aggregazioni di altri BuildingElements che vanno a comporre degli insiemi autonomi, come le carpenterie metalliche che sono composte da travi, piastre, fissaggi, ecc.

IfcElementComponent: sono gli accessori di fissaggio fra diversi elementi. Questi sono i fissaggi veri e propri (IfcFastener), le armature dei cementi (IfcReinforcingBar), i controventi (IfcTendon), ecc. In questa categoria ricadono anche i BuildingElementPart, i componenti costitutivi un elemento composto quali un muro, una soletta, ecc a cui abbiamo applicato una stratigrafia.

IfcFurnishingElement: gli arredi.

IfcTransportElement: i dispositivi meccanici per lo spostamento quali ascensori, scale mobili, ecc.

IfcFeatureElement: sono quegli elementi che interagiscono con altri e ne modificano la forma, come ad esempio le aperture; ad ogni porta o finestra sono associati automaticamente degli ifcopenings che solitamente non vengono visualizzati.

In IFC 4 i BuildingElement sono 21, rispetto ad IFC 2x3 sono stati aggiunti gli IfcChimney (canne fumarie) e IfcShadingDevice (dispositivi di ombreggiamento).

Nella maggior parte dei casi la corrispodenza con gli oggetti del modello BIM nativo è facilmente intuibile: i muri rientrano nella categoria IfcWall, le travi nella categoria IfcBeam, e via dicendo. Ci sono altri elementi invece meno intuibili quali:

  • IfcBuildingElementProxy sono tutti quegli elementi che non hanno una definizione specifica; 
  • IfcCovering sono gli elementi di rivestimento di muri, coperture, ecc.
  • IfcMember sono gli elementi strutturali, non necessariamente portanti che non rientrano fra gli ifcColumn e gli IfcBeam, quali piastre, arcarecci, montanti, gli elementi strutturali del tetto, ecc.

Alcuni elementi poi non hanno un proprio corpo e sono invece dei contenitori di altri oggetti in relazione gerarchica fra di loro: sono i cosiddetti ifcContainer, ad esempio i Curtain Wall e le scale che contengono al loro interno gli IfcMember e IfcPlate. Le scale sono costituite da IfcMember, che a loro volta sono suddivise in IfcRiser (alzate), IfcStep (pedate) e IfcStairStructure (struttura).

 

L’utente può scegliere se trasformare l’elemento Container in un unico oggetto ma se dobbiamo sviluppare un computo metrico sarà preferibile avere la scomposizione nei singoli subcomponenti

Oltre alla definizione del Tipo è possibile fornire un’ulteriore specifica, le Type Enum: possiamo infatti ulteriormente dettagliare i muri come ifcwall del tipo STANDARD, POLYGONAL, SHEAR, USERDEFINED e NOTDEFINED.

Se nel caso di IfcWallTypeEnum i sotto tipi proposti non hanno un riscontro significativo nella definizione dell'oggetto, per quanto riguarda invece gli IfcSlab vale la pena un piccolo approfondimento: le solette possono essere usate a diversi scopi: come pianerottolo, come copertura piana o basamento.

 

Per una copertura piana, quindi, l’associazione corretta è Ifc Slab / Roof, mentre la categoria Ifc Roof viene (o dovrebbe essere) utilizzata solo per i tetti a falda.

Esiste poi una distinzione fra la scala intera a più rampe comprensiva di rampe e pianerottoli, denominata ifcstair e la scala a unica rampa denominata ifcstairflight, dove i pianerottoli sono invece definiti come ifcslab/Landing.

Il processo di mappatura deve far corrispondere numerosi elementi: pensiamo ai rivestimenti che ricadono tutti sotto la categoria ifcCovering ma che poi sono specificati come controsoffitto, pavimento, isolamento o altro. 

Per approfondire ogni voce potete liberamente consultare la pagina BuildingSmart cliccando sui relativi link, oppure fate una ricerca con la voce che volete approfondire, ad esempio ifcwall o ifcslab (tutto attaccato, tutto minuscolo): la prima voce dovrebbe essere standard.buildingsmart.org.

Difficilmente un software avrà tanti strumenti di disegno quante sono le categorie IFC, da qui la necessità di effettuare il cosiddetto "mappaggio": non solo dobbiamo distinguere diverse tipologie di elemento con gli ifcTypeEnum ma spesso utilizziamo lo stesso strumento di modellazione per generare diversi elementi Ifc.

 

Esiste un'ulteriore caso particolare: i muri che sono generati tramite un'estrusione verticale e che hanno un'unico spessore lungo tutta la loro lunghezza ricadono, almeno in IFC 2x3, nella sottocategoria ifcWallStandardCase: è una distinzione di cui probabilmente non si sentiva l'esigenza e che anzi complica un po' l'operatività e che infatti in IFC 4 è stata eliminata.

Esistono infine le entità spaziali, gli IfcSpace: questi non sono chiaramente degli IfcBuildingElement ma sono strutturati come IfcElement/IfcSpatialStructure/IfcSpace, dove con IfcSpatialStructure intendiamo la scomposizione spaziale del progetto nelle sue unità spaziali, nella fattispecie Progetto/Sito/Edificio/Piani. Gli IfcSpaces possono trovarsi soltanto all’interno di un BuildingStorey, oppure se si tratta di uno spazio esterno è necessariamente compreso nell’IfcSite. Gli spazi possono essere aggregati, parti o complessi di altri spazi.

 

ELEMENTI TIPO ED ELEMENTI

I componenti sono organizzati per Elementi (ifcBuildingElements) ed Elementi Tipo (ifcBuildingElementsType). Il Tipo Elemento designa un insieme di proprietà condivise fra elementi omogenei fra loro; per comprenderne meglio la differenza rimando al seguente articolo sulle relazioni in IFC.

Possiamo considerare Gli Elementi come le singole istanze degli oggetti posizionati, mentre per Elementi Tipo si intendono dei tipi che hanno in comune un set di Proprietà. Prendiamo ad esempio delle finestre, e attribuiamo loro un codice alfanumerico progressivo "F01", "F02", ecc che ci permetta di identificarle singolarmente; sebbene abbiano un codice distinto possiamo raggrupparle in categorie più ampie sulla base dei criteri prescelti, come la tipologia (Finestra a 2 Ante) e le dimensioni (L=1,20, H=1,50): l'Elemento Tipo verrà ad esempio denominato "F2A-120x150" e conterrà al suo interno più finestre pur con codici unici diversi fra loro. L’ ifcBuildingElementType è quindi la categoria che include diversi elementi sulla base di caratteri comuni. Anche la definizione del Tipo Elemento, così come quella dell'Elemento, può variare a seconda dell’uso: per il manutentore utilizzeremo piuttosto una codifica che riporti il Piano e la Zona di appartenenza, ad esempio "F - P02 - 001" (Finestra, al Piano 2, nella Zona 001). 

I Tipi Elemento e, sulla destra, un esempio di nidificazione degli Elementi 
nell'apposita categoria Tipo. 

Il Builnding Element Type “prende il nome” dal Building Element stesso, seguito dalla desinenza Type: ad esempio una particolare tipologia di muri sarà individuata come ifcWallType, le travi ifcBeamType, ecc. Porte e finestre in IFC 2x3 prendono invece la denominazione IfcDoorStyle e IfcWindowStyle mentre in IFC 4 diventano, come per tutti gli altri elementi dei IfcDoorType e IfcWindowType.  

 

Per una visione d'insieme, ecco i link a tutti gli articoli sul formato IFC:

  1. Introduzione al formato IFC;
  2. L'identità nel formato IFC;
  3. Le relazioni nel formato IFC;
  4. La rappresentazione del formato IFC;
  5. Le proprietà nel formato IFC.