Retour au blog BIM & IFC
Outils & comparatifs · 2026-10-02 · 11 min
Que contient un fichier IFC ? Le format expliqué avec des schémas
Un fichier .ifc est du texte brut qu'on peut ouvrir dans un éditeur de code — et une fois qu'on sait le lire, la moitié des mystères de l'IFC disparaissent. L'en-tête, les instances numérotées, le GlobalId, les relations qui portent les propriétés : voici le format, dessiné.
Que contient un fichier IFC ? Le format expliqué avec des schémas — IFC Viewer Online article cover
La plupart des gens ne voient un fichier IFC qu'à travers une visionneuse. C'est dommage, car un fichier .ifc est du texte brut, et dix minutes passées à en lire un expliquent des choses qui sinon restent mystérieuses : pourquoi les GUID comptent, pourquoi une propriété peut « manquer » alors qu'on la voit, pourquoi les fichiers deviennent si lourds, pourquoi un mauvais réglage d'export casse tout en aval.
Ce guide ouvre le fichier et dessine ce qu'il contient.
Un fichier IFC au format STEP (ISO 10303-21) : un en-tête qui nomme le schéma, puis une instance numérotée par ligne.
L’essentiel
- Un fichier IFC est une liste d'instances numérotées. Les numéros sont propres au fichier et changent à chaque export.
- Le GlobalId — la chaîne de 22 caractères dans chaque instance — est l'identité censée durer.
- Presque tout ce qui compte, propriétés et contenance spatiale comprises, est rattaché par des entités de relation plutôt que stocké sur l'élément.
L'en-tête : quel schéma, quelle vue
Le fichier commence par ISO-10303-21; et une courte section HEADER. Trois lignes comptent :
- FILE_DESCRIPTION nomme la model view definition — Coordination View, Reference View, Design Transfer View — qui définit le sous-ensemble d'IFC que l'exportateur entendait utiliser.
- FILE_NAME enregistre le nom du fichier, l'horodatage, l'auteur et le logiciel auteur.
- FILE_SCHEMA nomme le schéma : IFC2X3, IFC4 ou IFC4X3. Chaque ligne suivante se lit selon ce schéma ; la même entité peut avoir des attributs différents selon la version.
Choisir entre les versions du schéma est un sujet à part : IFC2x3 ou IFC4.
Les données : une instance par ligne
Après DATA; chaque ligne a la même forme : un numéro, un nom d'entité et une liste d'attributs dans l'ordre défini par le schéma.
#245= IFCWALL('1kTvXnbbzCWw8lcMd1dR4o',#2,'Basic Wall:Ext 300',$,$,#210,#240,$,.STANDARD.);
| Élément | Signification |
|---|
| #245 | Numéro d'instance (express ID) — propre à ce fichier |
| '1kTvXnbbz…' | GlobalId — un GUID compressé de 22 caractères |
| #2 | Référence à une autre instance (ici, l'historique du propriétaire) |
| $ | Attribut non renseigné |
| .STANDARD. | Une valeur d'énumération (le type prédéfini) |
| #210, #240 | Placement et représentation géométrique, définis sur d'autres lignes |
Quand le GlobalId lui-même change à chaque export, tous les processus en aval cassent en même temps. La cause et la correction pour chaque outil auteur sont dans pourquoi les GUID IFC changent à chaque export.
Les entités héritent les unes des autres
L'IFC est un modèle objet. Un IfcWall est un IfcBuiltElement, qui est un IfcElement, un IfcProduct, un IfcObject et, au bout du compte, un IfcRoot — et il porte les attributs de chacun. C'est pourquoi chaque mur, porte et espace a un GlobalId et un Name : ils viennent d'IfcRoot.
Chaque entité hérite des attributs de ses supertypes. Un contrôle écrit pour IfcElement s'applique à tous les murs, portes et poteaux en dessous.
Les noms changent d'une version à l'autre : ce que l'IFC4.3 appelle IfcBuiltElement s'appelait IfcBuildingElement en IFC2x3 et IFC4. Un outil qui code un nom en dur rate l'autre — c'est une des raisons pour lesquelles un même modèle peut passer un contrôle dans un outil et l'échouer dans un autre.
Les relations sont aussi des entités
Le choix de conception qui rend l'IFC difficile à lire au début est aussi ce qui le rend puissant : les relations sont des objets à part entière. Un mur n'a pas de liste de propriétés. À la place, une instance IfcRelDefinesByProperties pointe vers le mur et vers un property set. La contenance spatiale, les matériaux, les types, les ouvertures et les groupes fonctionnent de la même manière.
Les propriétés vivent dans des property sets, rattachés à l'élément ou à son type. Un property set sur le type s'applique à toutes les occurrences.
C'est la racine de la fausse alerte la plus courante des contrôles qualité IFC : une propriété définie sur le type semble manquer pour un outil qui ne lit que l'occurrence. Propriétés IFC manquantes après export détaille les vraies causes ; lire les property sets en Python montre comment suivre ces relations dans le code.
Pourquoi les fichiers IFC sont si lourds
- La géométrie domine. Une façade triangulée ou un équipement CVC détaillé peuvent occuper des milliers de lignes ; les extrusions et la géométrie instanciée sont bien plus légères.
- Les données répétées sont répétées. Les exportateurs qui ne partagent ni property sets ni représentations écrivent les mêmes lignes une fois par élément.
- Rien n'est compressé en STEP brut. Un ifcZIP réduit typiquement un fichier de plusieurs fois, et c'est un format de livraison judicieux quand les outils du destinataire l'acceptent.
Les façons sûres d'alléger les fichiers sont dans comment réduire la taille d'un fichier IFC. Et quand un fichier est assez gros pour faire planter le navigateur, voyez fichiers IFC volumineux et plantages du navigateur.
Lire un fichier soi-même
- Ouvrez-le dans un éditeur de texte N'importe quel éditeur qui supporte les gros fichiers. Regardez d'abord l'en-tête : le schéma et la vue de modèle disent à quoi s'attendre.
- Cherchez l'entité qui vous intéresse IFCWALL(, IFCSPACE(, IFCBUILDINGSTOREY(. Le simple décompte est déjà un contrôle rapide.
- Suivez les références d'un élément À partir d'un mur, cherchez son numéro # pour trouver les relations qui pointent vers lui — contenance, propriétés, type.
- Passez ensuite à une visionneuse Les mêmes informations, navigables : l'arbre spatial, le panneau des propriétés et une validation qui contrôle ces relations pour vous.
La façon dont les éléments s'organisent en niveaux et en espaces est le sujet de la structure spatiale IFC expliquée.
Que contient un fichier IFC ? Le format expliqué avec des schémas