BIM | 2S.I. SOFTWARE E SERVIZI PER L'INGEGNERIA SRL
Data Pubblicazione:

Guida pratica alla lettura di un file IFC

In questo articolo andremo a descrivere il file IFC attraverso un esempio in PRO_SAP per meglio comprendere come questo sia composto e quali dati contenga, con lo scopo di dare ai professionisti che ne fanno uso maggiore consapevolezza circa le operazioni che si vanno svolgendo.

L'Open BIM si basa principalmente sul formato di interscambio IFC

Il formato IFC è il principale formato di interscambio del metodo Open BIM. In quanto tale è un formato aperto e non proprietario, ovvero accessibile a software di differenti case produttrici. È disponibile anche nel software di calcolo strutturale PRO_SAP ed è sempre più utilizzato dai professionisti nella pratica quotidiana per lo scambio di informazioni tra le varie figure che collaborano alla realizzazione dei progetti.

L’ente che si occupa di definire e aggiornare gli standard IFC è Building Smart International (BSI), il cui capitolo italiano IBIMI si occupa della promozione del BIM tra tutti gli attori del settore delle costruzioni collaborando direttamente con essi per una definizione più chiara e pratica della metodologia OpenBIM nel panorama italiano. 2S.I. è socio collettivo di IBIMI e in quanto tale partecipa attivamente al gruppo di lavoro strutture.

 

Un esempio pratico

All’interno dello schema IFC esistono diverse tipologie di rappresentazione degli elementi e in questo articolo vogliamo indagare quali sono e come queste influiscono nell’importazione in ambiente FEM. Alcune di queste rappresentazioni infatti sono di difficile se non impossibile importazione rendendo necessario l’utilizzo di semplificazioni. 

Vediamo l’esempio pratico di una colonna dorica può essere rappresentata in diversi modi all’interno del modello informativo:

  • Attraverso la rappresentazione BREP che consente di rappresentare nel dettaglio i capitelli;
  • Attraverso la rappresentazione SWEPTSOLID che considera un elemento ad asse rettilineo e sezione circolare costante;
  • Attraverso la rappresentazione ADVANCEDSWEPTSOLID che considera un elemento ad asse rettilineo e sezione circolare variabile.

Risulta evidente che la prima è molto dettagliata, ma non è adeguata ad una modellazione ad elementi finiti perché tale livello di dettaglio risulta inutile ai fini del calcolo; sarebbe possibile importare il volume solido ed effettuare una meshatura di elementi solidi, ma si appesantirebbe il modello. La seconda rappresentazione invece consente una conversione automatica in un elemento Beam ad asse rettilineo e sezione costante.

Sarebbe quindi opportuno tenere sempre a mente, quando si va a esportare un modello tridimensionale in un file BIM (.IFC), per quale tipologia di software questo debba essere esportato e quale risultato si voglia ottenere.

 

Guida pratica alla lettura di un file IFC

 

La gestione dei file IFC in PRO_SAP

Il software di calcolo strutturale PRO_SAP è in grado di importare ed esportare file BIM (.IFC) e la tecnologia è in continua evoluzione, anche grazie ai suggerimenti dei clienti. Il comando “Aiuto per BIM” consente di correggere in automatico la geometria importata per consentire agli elementi finiti di essere collegati automaticamente in corrispondenza dei nodi. Per maggiori informazioni al riguardo si consiglia la lettura dell’articolo di approfondimento sulla gestione e utilizzo dei file IFC in PRO_SAP disponibile al seguente link: PRO_SAP è BIM

Allo stato attuale acquisisce elementi IFC secondo le istruzioni “buildingSMART International Modeling Support Group - IFC 2x Edition 3 Model Implementation Guide”, nello specifico la lettura è stata predisposta per:

  1. IFCBUILDINGSTOREY costituiscono i piani di riferimento;
  2. IFCWALLSTANDARDCASE vengono convertiti in muri (D3);
  3. IFCSLAB vengono convertiti in solai o gusci (D3);
  4. IFCCOLUMN vengono convertiti in pilastri (D2);
  5. IFCMEMBER vengono convertiti in elementi inclinati (D2);
  6. IFCBEAM vengono convertiti in travi (D2);
  7. Vengono convertiti in linee di costruzione i seguenti IFCBUILDINGELEMENT:
  • "IfcBuildingElementProxy";
  • "IfcRamp";
  • "IfcPile";
  • "IfcFooting";
  • "IfcPlate".

 

Cosa sono nello specifico questi elementi e come sono strutturati?

In questo articolo andremo a descrivere il file IFC attraverso un esempio in PRO_SAP per meglio comprendere come questo sia composto e quali dati contenga, con lo scopo di dare ai professionisti che ne fanno uso maggiore consapevolezza circa le operazioni che si vanno svolgendo.

Analizzeremo nello specifico le proprietà che caratterizzano l’entità IFCCOLUMN, come queste siano riportate all’interno del file IFC e come la scelta di alcune di esse possa influire sulla corretta importazione del file.

Per fare ciò ci serviremo della documentazione online fornita da Building Smart International (BSI), l’ente che si occupa di definire e aggiornare gli standard IFC, e di un file IFC rappresentante un telaio in c.a. generato con PRO_SAP che può essere letto con un programma di editing di testi come Blocco Note.

 

Le proprietà principali

Innanzitutto bisogna sapere che il file IFC è strutturato secondo uno schema ben preciso basato sulla specializzazione delle classi. Questo significa che ogni elemento ha origine da una classe generica dotata di certe proprietà, che si divide successivamente in sottoclassi specifiche dotate di ulteriori proprietà.

 

IFC Root

 

 

Ad esempio la classe IfcColumn è una specializzazione della classe IfcBuildingElement, che è una specializzazione della classe IfcElement, che è una specializzazione della classe IfcProduct, che è una specializzazione della classe IfcObject, che è una specializzazione della classe IfcObjectDefinition che a sua volta è una specializzazione della classe IfcRoot.

Andiamo dunque a vedere tramite la documentazione ufficiale di BSI quali sono le proprietà dell’entità IFCCOLUMN e da quale superclasse queste sono ereditate. La lista si trova in fondo alla pagina relativa alla specifica entità:

 

Inheritance Graph

 

Quelle che ci interessano e che possiamo indagare direttamente andando a leggere il file IFC sono quelle definite sotto la scritta “ENTITY + nome della superclasse”.

La descrizione della IfcColumn, così come di tutti gli elementi, parte da una classe di base astratta chiamata IfcRoot nella quale sono definite le proprietà GlobalID, OwnerHistory, Name e Description ovvero le proprietà identificative di cui è dotato ogni elemento della struttura, a prescindere dalla sua tipologia.

Successivamente dalla entity IfcObject eredita la sola proprietà ObjectType, dalla entity IfcProduct eredità le proprietà ObjectPlacement e Representation, e così via. Affianco a ciascuna di essere sulla destra troviamo la tipologia di proprietà, ovvero a quale tipologia di Entity questa appartenga, e altre informazioni come il loro numero ( SET OF / SET [0:n] ) o se questa proprietà sia opzionale o meno.

Le proprietà riportate sotto la voce INVERSE sono invece le proprietà inverse attraverso le quali è possibile ricondursi ad altre entità che collegano tra di loro i vali elementi del file, come la proprietà HasAssociations che tramite l’entità IfcRelAssociatesMaterial (specializzazione della classe IfcRelAssociates leggibile nello schema soprariportato) associa l’entità IfcColumn all’entità IfcMaterial.

Tramite Blocco Note apriamo quindi il file e andiamo in cerca proprio dell’entità IFCCOLUMN. La riga che troveremo e le successive strettamente connesse ad essa sono riportate nella seguente immagine:

 

entità IFCCOLUMN

 

Notiamo subito come ogni riga corrisponde ad una entità preceduta da un numero identificativo (#29) e dalle proprietà dell’entità (racchiuse tra parentesi) che corrispondono esattamente alle proprietà che andremo a studiare tramite la documentazione ufficiale di BSI.

Le proprietà dell’entità IFCCOLUMN indagata sono le seguenti:

  1. '3SVAoPaHfFm5TfJw2QpyKE' (GlobalID): una stringa alfanumerica che identifica in modo inequivocabile l’elemento specifico;
  2. #15 (OwnerHistory): richiama il numero identificativo della entità IfcOwnerHistory che la rappresenta. Non ci dilungheremo sulla funziona di questa proprietà ma è possibile leggerne le varie caratteristiche sempre all’interno della documentazione proposta;
  3. 'ele D2 1' (Name): Nome dell’elemento fornito dal software rappresentata da una entità IfcLabel, ovvero stringa alfanumerica con il solo scopo di essere compresa dall’utente ma di nessuna importanza per la computazione meccanica del modello;
  4. 'setDescription' (Description): Descrizione dell’elemento rappresentata da una entità IfcText, ovvero una stringa alfabetica con il solo scopo di essere compresa dall’utente ma di nessuna importanza per la computazione meccanica del modello;
  5. 'setObjectType' (ObjectType): Tipologia dell’elemento rappresentata da una entità IfcLabel;
  6. #34 (ObjectPlacement): Entità di tipo IfcObjectPlacement che descrive la posizione dell’elemento, che deve a sua volta essere analizzata nella medesima modalità che stiamo adottando in questo momento;
  7. #35 (Representation): Entità di tipo IfcProductRepresentation che descrive la rappresentazione geometrica dell’elemento e che dettaglieremo più avanti;
  8. $ (PredefinedType): Tipo predefinito dell’elemento rappresentato de una entità IfcColumnTypeEnum. Le tipologie predefinite sono le seguenti:

 

Enumerated Item Definition

 

Il simbolo $ rappresenta il campo vuoto quindi nel caso d’esempio ci si pone nella tipologia NOTDEFINED.

Un esempio di proprietà inversa che possiamo notare dallo screen soprariportato invece è presente alla riga #41=IFCRELASSOCIATESMATERIAL che collega le entità #29=IFCCOLUMN (la quale come abbiamo visto non possiede una proprietà diretta che ne descrive il materiale) e l’entità #42=IFCMATERIAL dotata come una proprietà di una stringa alfanumerica che ne descrive il nome.

 

2si-ifc-5.JPG

 

Gli altri elementi precedentemente riportati come gli IFCBEAM, IFCWALLSTANDARDCASE, IFCSLAB sono strutturati in maniera analoga e condividono con l’IFCCOLUMN le principali caratteristiche, pertanto non verranno trattati nello specifico all’interno di questo articolo.

 

La rappresentazione geometrica degli elementi

Nell’esempio della colonna dorica abbiamo visto come le informazioni relative alla rappresentazione possano rendere più agevole l’importazione. Vediamo in dettaglio ora che le informazioni relative alla rappresentazione geometrica degli elementi siano contenute all’interno della proprietà Representation rappresentata dall’entità IfcProductRepresentation che si vuole ora approfondire seguendo il medesimo approccio utilizzato in precedenza, partendo quindi dalla lista delle sue proprietà:

 

La rappresentazione geometrica degli elementi

 

L’ultima proprietà Representations corrisponde alla riga #36=IFCSHAPEREPRESENTATION che è un sottotipo della classe IfcRepresentation e le sue proprietà principali sono:

 

 RepresentationIdentifier

 

Le proprietà principali tra queste sono la RepresentationIdentifier, che determina se l’elemento è un corpo tridimensionale (Body) piuttosto che un asse (Axis) o un superifice (Surface), e la RepresentationType che va a indicare secondo quale modalità viene descritta la geometria dell’elemento.

Le principali RepresentationType per gli elementi solidi (Body) sono le seguenti:

  • SweptSolid: estrusione di un profilo lungo una direttrice rettilinea o curva, quindi lungo l’asse dell’elemento, utilizzata per rappresentare elementi con sezione costante;
  • AdvancedSweptSolid: estrusione di un profilo lungo una direttrice rettilinea o curva, quindi lungo l’asse dell’elemento, utilizzata per rappresentare elementi con sezione variabile;
  • Brep: insieme di superifici, comunemente dette facce, che assemblate racchiudono il volume dell’elemento. Comunemente utilizzata per la rappresentazione di elementi con forme complesse che non possono essere rappresentati tramite semplice estrusione.
  • Altre RepresentationType che è possibile incontrare sono le seguenti, le quali fanno a loro volta riferimento alle RepresentationType  precedentemente descritte combinate tra di loro;
  • CSG: Operazioni booleane tra solidi e piani;
  • Clipping: Sottrazione booleana tra solidi e piani, comunemente utilizzata per rappresentare elementi tagliati
  • MappedRepresentation: Mappa di elementi predefiniti (non definiti all’interno della singola entità) che vengono riutilizzati più volte nella rappresentazione di vari elementi;

Nel caso della nostra colonna la RepresentationType è di tipo SweptSolid che chiama quindi l’entità #37=IFCEXTRUDEDAREASOLID.

 

 SweptSolid

 

Di cui ci interessa principalmente la proprietà SweptArea descritta dall’entità IfcProfileDef, superclasse della tipologia IfcRectangleProfileDef che troviamo nel nostro specifico caso, contente tutti i parametri utili per la costruzione della sezione estrusa.

 

2si-ifc-9.JPG

 

Allo stato attuale PRO-SAP rappresenta gli elementi assiali con RepresentationType di tipo Brep tramite linee di costruzione dalle quali sarà poi possibile andare a creare manualmente gli elementi D2, quindi quando possibile e se permesso dal software di Export è preferibile scegliere sempre una rappresentazione di tipo SweptSolid per gli elementi che sono effettivamente riconducibili a sezioni estruse, come d’altronde succede effettivamente per la maggior parte degli elementi strutturali salvo casi eccezionali.

Per quanto riguarda gli elementi bidimensionali come IFCSLAB e IFCWALLSTANDARDCASE vale la medesima osservazione fatta in precedenza sulle rappresentazioni di tipo Brep, mentre quando la rappresentazione utilizzata è di tipo SweptSolid il software riconosce i nodi estremi dell’elemento per trasformarlo in una mesh di elementi D3 di dimensioni prossime ai 50 cm dotati di spessore pari alla lunghezza di estrusione per gli elementi SLAB e al lato corto della sezione rettangolare estrusa per gli elementi WALL.

Per gli elementi SLAB è possibile selezionare l’importazione come elementi solaio o mesh di elementi D3.

 

Elementi SLAB

 

Una volta che PRO-SAP ha letto il file IFC e prima di effettuare l’importazione viene riportato il numero di elementi per ciascuna tipologia di entità, rendendo possibile selezionare quali di queste si vogliono importare e quale risultato si vuole ottenere a seconda della rappresentazione utilizzata. Questo consente all’utente un efficace controllo sull’acquisizione dei dati per il modello di calcolo.

 

Le versioni di PRO_SAP

Le funzionalità per il BIM sono disponibili gratuitamente in PRO-SAP, anche nelle versioni free. Le versioni free, utilizzabili anche per scopi professionali, consentono di utilizzare PRO_SAP nella sua completezza (compresi BIM, relazioni di calcolo e disegni esecutivi). 

In particolare la versione e-TIME si può utilizzare liberamente il sabato, la domenica e dalle 20 alle 8 tutti gli altri giorni e comprende tutti i moduli di PRO_SAP.

 


Logo 2SI

Chi è 2SI

2SI sviluppa e distribuisce il software a elementi finiti PRO_SAP; è attiva da più di 20 anni ed ha molteplici collaborazioni con istituti universitari ed enti di ricerca come EUCENTRE e NAFEMS, ISI. PRO_SAP progetta cemento armato, acciaio, muratura ordinaria e armata, legno, XLAM, travi reticolari miste, pareti estese debolmente armate, rinforzi in FRP per muratura e c.a.

Verifica anche edifici esistenti, isolatori, interazione terreno-struttura, resistenza al fuoco, cinematismi di collasso nelle murature. PRO_SAM è il plugin di PRO_SAP che si collega al motore di calcolo SAM II.

Promosso da Confindustria Ceramica Raggruppamento Laterizi e sviluppato dal Professor Magenes e dagli Ingg. Manzini e Morandi, PRO_SAM esegue analisi mediante una modellazione a telaio equivalente. Calcola di edifici in cemento armato, muratura ordinaria, muratura armata o mista.

BIM

News e gli approfondimenti che riguardano l’evoluzione digitale del progetto e della costruzione, con particolare attenzione al BIM - Building Information Modelling

Scopri di più

Leggi anche