schéma et format IFC- Industry Foundation Classes

Le partage des données dans le secteur du BTP

IFC pour l'interopérabilité des logiciels BIM

Si l’on se réfère à la norme ISO/IEC 2382 relative aux technologies de l’information : « l’interopérabilité se définit par la capacité de communiquer, d’exécuter des programmes ou de transférer des données entre divers systèmes, sans pour autant que l’utilisateur ait besoin de connaissances approfondies sur les caractéristiques uniques de chaque système ». De façon pratique, l’interopérabilité entre systèmes implique l’élaboration d’un standard ouvert (ou mieux encore : une norme) que chaque interface des systèmes doit respecter. 

Ainsi, pour les logiciels BIM : c'est le schéma IFC (Industry Foundation Classes) qui permet l'interopérabilité et donc la mise en place des processus "OpenBim".

logo des IFC gérés par BuildingSmart

BuildingSmart est l’organisation internationale en charge de promouvoir l’OpenBIM. Afin d’atteindre son objectif, celle-ci a collaboré avec le groupe STEP-ISO (STEP pour : « STandard for the Exchange of Product data modell »). En fin de compte, l’IFC est né de cette collaboration.

Norme et standard ont des degrés d'autorité différents.

Alors qu’un standard s’impose naturellement par l’usage du plus grand nombre, c’est toujours un organisme de normalisation officiel qui édite une norme. De plus, cette édition résulte systématiquement d’un enchainement formel d’études que des spécialistes réalisent, puis du consensus qui s’en dégage. Par conséquent, une norme aura toujours un degré d’autorité plus élevé et sécurisera bien plus une activité ou un matériel qu’un standard. Il est donc préférable que l’interopérabilité se fasse à travers l’établissement d’une norme plutôt qu’un standard ouvert ; c’est pourquoi nous avons exprimé cette préférence dans le paragraphe précédent.

L'OpenBIM a donc fait une grande avancée lorsque schéma et format IFC sont devenus la norme ISO 16739 !

L’AFNOR édite cette norme, avec pour intitulé :  « Industry Foundation Classes pour le partage de données dans les industries de la construction et de la gestion des installations ». D’autre part, l’édition 2018 de la norme ISO 16739 correspond à la version 4.0.2.1 de l’IFC.

⚠️ En revanche, la compatibilité entre deux logiciels n’implique pas l’existence d’un standard ouvert. Effectivement, celle-ci nécessite seulement que les éditeurs de ces logiciels s’accordent pour créer des interfaces spécifiques ; ceci afin que les deux systèmes puissent communiquer entre eux. 

QuelLes sont les différences entre Open-BIM et Closed-BIM ?

L'Open-BIM

Cette expression décrit l’application de nos cas d’usage BIM en recourant à l’interopérabilité des différents logiciels que nous utilisons (et donc à la norme ISO 16739 pour l’IFC). Tout d’abord, l’OpenBIM permet d’avoir une liberté optimum pour le partage des données, ce qui permet aux acteurs de la construction de réaliser facilement des processus collaboratifs autour de la maquette numérique BIM. En effet, sans l’IFC et en utilisant différents logiciels de modélisation BIM, nous devrions créer pour chaque logiciel BIM, un nombre considérable d’interfaces en écriture et lecture ; ceci afin de permettre aux divers acteurs du BTP de communiquer malgré tout. Alors qu’avec l’OpenBIM, un logiciel BIM doit uniquement se doter d’une interface double (import et export de l’IFC). De plus, l’OpenBIM nous permet d’obtenir une certaine indépendance vis-à-vis des éditeurs de logiciels…  

Le Closed-BIM

Dans ce cas, les flux de travaux et transferts de données qui accompagnent nos processus BIM se font avec des fichiers aux formats natifs d’une suite de logiciels appartenant à un éditeur. Cette façon de faire, a l’avantage de s’affranchir de tout problème possible d’interopérabilité, mais le désavantage de fonctionner « dans un circuit fermé », où un éditeur décide de tout. Par ailleurs, quand nous parlons de Closed-BIM, nous pensons rapidement au logiciel Revit d’Autodesk. En effet, celui-ci est le principal logiciel de modélisation BIM permettant de travailler facilement et efficacement dans les trois disciplines principales : Architecture, Structure et MEP. Cependant, le logiciel Revit Autodesk  a ses limites ! Par exemple, pour des réalisations de structures métalliques complexes, il serait peut-être préférable d’utiliser une solution Tekla ; ou  cadwork pour des structures en bois… 

Par ailleurs, le format IFC donne une meilleure confiance que les formats natifs, quant à l'accessibilité des données dans le temps.

En effet, par définition un format natif se rattache à un logiciel BIM spécifique et donc à une société qui peut disparaître assez facilement (selon une appréciation du temps que nous basons sur la durée de vie d’un bâtiment).

Schéma et format IFC pour l'industrie du BTP :

L'ISO 16739 décrit clairement deux aspects différents, mais complémentaires pour les IFC :

Qu'est-ce qu'un Modèle Conceptuel de Données ?

Un modèle conceptuel de données ou MCD propose une description formelle des concepts présents dans une base de données et cela sans ambiguïté sur l’interprétation des dits concepts. Ainsi, ce modèle s’attache à une description sémantique très précise des données ; son élaboration est une condition « sine qua non » pour la construction de toute base de données ou tout format de fichier d’échange. En outre, afin de décrire le MCD, nous utilisons un langage de spécification formelle qui s’accompagne d’une convention de représentation graphique. Par exemple, pour les IFC le langage choisi est : « l’EXPRESS », avec pour méthode de représentation graphique « l’EXPRESS-G » ; la norme ISO 10303-11 décrit le langage EXPRESS.

Nous parlons ici d’un MCD réalisé avec une orientation objet. Par conséquent, il ne faut pas assimiler sa conception à celle des MCD prévus pour les bases de données relationnelles ; qui au demeurant sont les plus répandus encore actuellement.

Les trois principaux formats IFC :

Du fait de l’encodage en texte clair, vous pouvez ouvrir un fichier .ifc (.ifcXML également) avec votre éditeur de texte préféré. Par exemple, voici un court extrait d’un fichier au format IFC-SPF. Ainsi, chaque ligne correspond à un objet IFC : sa classe d’appartenance est mentionnée, puis les valeurs de ses attributs.

ouverture d'un fichier au format IFC-SPF à l'aide d'un éditeur de texte

Enfin, nous pouvons préciser que BuidingSmart développe actuellement d’autres formats IFC pour l’OPEN-BIM.

Pour bien comprendre les IFC, nous vous conseillons de les aborder sous l'angle d'un schéma qui permet de classer et donc structurer toutes les données d'une maquette numérique BIM ; plutôt que sous l'angle d'un format de fichier.

IFC :  Notions d’objet et de classe.

La notion d'objet dans les IFC :

Selon la norme ISO 16739, un objet est défini de la façon suivante : « toute chose perceptible ou concevable qui a une existence distincte, même si cette existence n’est pas matérielle ». Un objet unique au sein d’une classe IFC se nomme : « occurrence ». Néanmoins, en programmation orientée objet, nous parlons également : « d’instance d’une classe ». Enfin, nous pouvons préciser que selon le schéma IFC, les acteurs (personnes morales ou physiques) du projet sont des objets ! 

⚠️ Tous les objets IFC ne sont pas instances de l’entité « ifcObject ». Par exemple, les relations entre objets sont également des objets IFC ! 

Classification et entité IFC :

La norme ISO 16739 définit la classification ainsi :  «catégorisation, action consistant à répartir des choses dans des classes ou des catégories du même type». De plus, une entité IFC (nous parlons également de « classe IFC ») est similaire à une classe en programmation orientée objet, avec un point de différence cependant : tout comme une classe en POO, une entité IFC regroupe les objets selon un comportement  et des attributs communs ; néanmoins, celle-ci ne s’occupe pas des méthodes (informatiques) de traitement des données.

Un triptyque définit tout objet IFC :

Très souvent, les développeurs qui utilisent un langage de programmation orientée objet parlent « d’entité » pour désigner une instance de classe. Cependant, il ne faut pas confondre avec notre vocabulaire à nous (utilisateurs des IFC) où une entité IFC est une classe IFC et n’est pas une occurrence (objet unique). Désolé, nous insistons afin d’éviter toute confusion ! 

Les principales notions de l'IFC viennent du paradigme de la Programmation Orientée Objet (POO).

Dans ce paradigme, un objet est une entité autonome possédant un ID unique. De plus, un objet se compose à la fois d’une base de données et de méthodes pour traiter ces données. En conséquence, une classe décrit ici : un regroupement d’objets selon des types de données et des méthodes de traitements identiques.

La notion d'héritage en programmation orientée objet : " je suis ton père !"

Le concept d’héritage permet d’établir une relation de similarité entre des classes d’objets. Ainsi donc, avec deux classes A et B : si « B est une classe fille de A », cela veut dire que B est un sous-ensemble (sous-classe) de A. Par conséquent, tout objet instance de B sera, de facto, instance de A. Autrement dit : les objets de la classe B « hériteront » de l’ensemble des caractéristiques de la classe A. De plus, les objets de la classe B auront tous, au moins une caractéristique supplémentaire qui leur sera commune. Prenons un exemple simple et plus concret, avec « la classe » des mammifères pour A et la « classe fille » des cétacés pour B. Nous pouvons observer que tous les cétacés héritent des caractéristiques propres aux mammifères : allaitement des juvéniles, etc. Mais possèdent en plus des caractéristiques communes aux cétacés : une nageoire caudale par exemple.

Une application orientée objet est un ensemble d'objets qui communiquent entre eux.

Nous vous conseillons de lire comment Steve Jobs explique la POO, c’est assez parlant : https://fossbytes.com/steve-jobs-tells-the-best-definition-of-object-oriented-programming. Pour conclure, le fait de s’intéresser (un minimum) au fonctionnement d’une application orientée objet, vous permettra de mieux appréhender le fonctionnement de tous vos outils BIM !

maquette numérique et IFC : comment les données d'une construction sont-elles structurées ?

La représentation d’une construction se fait habituellement par une succession de plans (de calques) pouvant être très précis, mais incapables d’interagir. L’orientation objet de l’IFC (et plus généralement de tous les logiciels de modélisation BIM) nous fait passer du dessin, à une logique de LEGO avec des briques intelligentes. Nous qualifions ces briques (objets IFC) « d’intelligentes », car elles établissent des relations et contiennent de nombreuses informations. Ainsi, avec le Building Information Modeling : nous associons des composants et des ouvrages, ces objets BIM forment les espaces de nos bâtiments et infrastructures et ont de multiples relations dynamiques. 

La relation d'héritage est l'une des familles de relations qui structurent le plus l'IFC !

La notion d’héritage dans les IFC est identique à celle que nous avons décrite dans le paradigme de la programmation orientée objet. D’autre part, afin de décrire la vue d’ensemble des relations d’héritage selon le schéma IFC, nous parlons d’un « arbre d’héritage » ; tout comme un arbre généalogique, celui-ci est inversé : le tronc est en haut et les feuilles sont en bas ! Ainsi, lorsque nous descendons vers les feuilles, nous allons vers une « spécialisation » des classes IFC. Inversement, quand nous allons vers le tronc (et donc vers « ifcRoot ») c’est une « généralisation ».

L’entité "racine" du schéma IFC : IfcRoot

Tout objet issu de IfcRoot se voit attribuer un identifiant (unique dans tout le monde numérique) que l’on appelle : « GUID » pour Globally Unique IDentifier ; le concept de GUID n’est pas spécifique aux IFC, mais au monde logiciel dans son ensemble. De plus, cet identifiant est un nombre de 128 bits (non égal à 0) ; la génération d’un GUID offre donc un nombre énorme de combinaisons possibles (2128 – 1). C’est pourquoi la probabilité que nous générions 2 GUID identiques est infiniment proche de zéro ! Enfin, concernant les IFC, chaque GUID est encodé sous la forme d’une chaine de 22 caractères que l’on peut qualifier d’ « IFC-GUID ».

⚠️  Le GUID permet la traçabilité de chaque objet IFC issu de IfcRoot. Par conséquent, il est impératif de le conserver lors de chaque export.

Une représentation simple du schéma IFC à partir de IfcRoot :

Une représentation visuel du schéma IFC à partir de IfcRoot

IfcRoot se spécialise en trois entités IFC majeures :

Les spécialisations de ifcObjectDefinition :

IfcObject se spécialise ensuite :

L’idée ici est de présenter rapidement une partie de l'arbre d'héritage des IFC. Cependant, le sujet est très vaste : il existe presque 800 entités pour l’IFC4 ! 

En outre, tout projet de construction doit respecter l’arborescence spatiale suivante :  Site (IfcSite) > Bâtiment (IfcBuilding) > Niveau (IfcBuildingStorey) > Produit (IfcProduct). En conséquence, une occurrence d’IfcProduct se situera automatiquement par rapport à un niveau et éventuellement  dans un local appartenant à un niveau.

Les MVD : des sous-ensembles du schéma IFC pour nos cas d'usage bim

MVD est l’acronyme de Model View Definition.

Pour aborder les MVD, il est tout d’abord nécessaire de comprendre un principe simple en BIM et néanmoins pas toujours facile à respecter : il faut toujours créer et échanger les informations strictement nécessaires et suffisantes à nos usages. Autrement dit, en BIM :

                                   Le « trop d’information » : tue l’information ! Et le « pas assez d’information » n’est pas de l’information !

Un partage de données se fait toujours dans un contexte de « cas d’usage BIM », qui détermine des besoins spécifiques en matière d’information. Par conséquent, un partage de données ne concerne systématiquement qu’une partie, plus ou moins grande, du schéma IFC et donc de la maquette numérique.

La norme ISO 29481 sur les IDM donne la définition suivante pour les MVD : « Définition interprétable par ordinateur d’une exigence d’échange, spécifiquement associée à un ou plusieurs schémas d’informations normalisés particuliers ». Néanmoins, nous pouvons donner une seconde définition, peut-être moins rigoureuse, mais plus facilement compréhensible :

Une MVD est un "filtre IFC" qui permet d’expliquer à un ordinateur, quelle partie utile de la base de données nous voulons transférer dans un cadre précis d’usage BIM.

Pour les IFC 3, voici les deux MVD les plus courantes :

Les retours d’expérience de la MVD Coordination View 2.0 ont permis de créer deux MVD pour les IFC 4 ; celles-ci sont liées à des usages plus spécialisés :

Export IFC avec la MVD « Reference View » dans le logiciel Revit Autodesk :

fenêtre d'export IFC dans le logiciel Revit avec le MVD reference view

 BuildingSMART certifie toujours un logiciel BIM pour un MVD précis. Voici la liste des outils BIM certifiés : https://www.buildingsmart.org/compliance/software-certification/certified-software/

Nous utilisons Un IDM (Information Delivery Manual) pour définir un MVD.

Un IDM est une méthode pour décrire tout type de processus métier et le lier à un processus d’échange d’information. Le but est de connaître, avec exhaustivité et pour chaque tâche spécifique, les données qu’un acteur doit fournir à un autre. Buildingsmart a élaboré cette méthodologie qui est devenue la norme ISO 29481.

Un IDM contient :

Voici un exemple de carte de processus, pour un IDM lié à la préfabrication de composants en béton :

carte de processus pour un IDM lié à la pré-fabrication d’éléments en bétons dans un projet OPEN-BIM

L’utilisation d’un IDM est plutôt réservée à des experts ou des développeurs informatiques. En effet, un IDM aide principalement à créer et implémenter une nouvelle MVD dans des logiciels. Ainsi, les BIM Managers et coordinateurs BIM utilisent généralement les MVD directement et ne se soucient pas de la méthode utilisée en arrière-plan pour les créer. Toutefois, dans certains cas complexes, un BIM Manager peut se servir d’un IDM comme modèle pour élaborer un processus et l’inclure dans une convention BIM. Enfin, la norme ISO 29481 suggère également que l’utilisation d’un IDM dans un projet de construction puisse être rendue contractuelle et donc être incluse dans un cahier des charges. Pour conclure, il existe actuellement une cinquantaine d’IDM qui ont été développés ou sont en cours de développement.

export d'une maquette BIM dans un fichier au format ifc

Lorsqu’à partir d’un logiciel de Building Information Modeling, nous exportons une maquette BIM au format IFC, il est nécessaire que chaque objet BIM se voit classer dans la bonne entité IFC. De plus, ces objets doivent conserver les données alphanumériques qu’un BIM modeleur lui aura associé de façon automatique ou manuellement. Finalement, ces données alphanumériques pourront se retrouver dans des attributs directement rattachés à l’objet, ou plus majoritairement dans des jeux de propriétés (IfcPropertySet) ; un « PropertySet » est associé soit à un type d’objet, soit à une instance (objet unique). En fin de compte, quand nous parlons « d’objet BIM », nous pensons surtout à toutes les instances de la classe IfcElement. C’est-à-dire : à tous les éléments ayant une existence physique et qui interviennent dans la construction d’un bâtiment ou d’une infrastructure. 

Qu'est-ce que le mappage de données ?

Le mappage de données consiste à dessiner une carte établissant une correspondance sémantique entre deux MCD ; nous pourrions également parler d’une carte ayant pour but de faire correspondre les champs d’une base de données source, aux champs d’une base de données réceptrice. 

Pourquoi parlons-nous souvent d'un mappage de données avec les IFC ?

Nous avons vu que le mappage de données n’est pas un sujet propre aux IFC. Cependant, du fait que les logiciels de modélisation BIM possèdent tous leur propre MCD, il y a systématiquement un mappage lors de l’exportation des données du format natif au format IFC. Enfin, selon vos désirs et le contexte, ce mappage sera plus ou moins pré-configuré par l’interface d’export de votre logiciel BIM.

Nous recommandons que le cahier des charges de la maîtrise d'ouvrage spécifie l'utilisation d'une visionneuse IFC gratuite.

Ainsi, celle-ci servira de référence pour la constatation des éventuelles non-conformités de la maquette BIM-IFC à livrer (en fonction du tableau de niveaux de développement que l’assistance à maîtrise d’ouvrage BIM aura élaboré).

Exemple de visionneuses IFC gratuites :