Blog
FME et le BIM
Le Building Information Modeling (BIM) est en plein essor. Comment FME peut-il créer des ponts entre les SIG et le BIM ?
Le cours donné par INSER au CAS 3D GEO organisé par la haute école du paysage, d’ingénierie et d’architecture de Genève (HEPIA) est l’occasion d’illustrer le potentiel de FME en matière de traitement et manipulation de géodonnées 3D, plus particulièrement de données BIM.
L’objectif de cet article est de montrer en quelques points certaines particularités de l’utilisation de données BIM dans FME. Cet article sera structuré comme suit :
- Définition du BIM et du format IFC
- Modèle de représentation
- Gestion des attributs
- Ecriture d’un fichier IFC
- Concluision
Définition du BIM et du format IFC
BIM est l’acronyme de Building Information Modeling. Il s’agit d’un processus de structuration, de création, de production, d'échange, d'intégration, d'analyse, de gestion, de visualisation et d'exploitation de données relatives à un ouvrage bâti. Cet échange de données entre différents systèmes n’est possible que par l’utilisation de format standard appelé IFC.
C’est dans cet univers régi par quelques logiciels phares tels que Revit (Autodesk), SketchUp (Trimble), ArcGIS (ESRI), ArchiCAD que FME, véritable couteau suisse de la donnée géographique, peut jouer un rôle prépondérant. D'une part FME permet de créer un lien entre ces systèmes, et d’autre part, il offre de nombreuses possibilités de modification des données (géométriques ou non) ainsi que d’export en d’autres formats non-BIM voire même non-SIG.
Il faut cependant reconnaître que la lecture, la modification puis l'écriture de fichiers IFC dans FME n’est pas une chose aisée, et nécessite de bonnes connaissances dans l’utilisation de FME. La suite de cet article donne quelques pistes permettant de débuter plus sereinement avec l’utilisation de données BIM dans FME.
Modèle de représentation
FME permet de lire la donnée au format IFC selon deux modes de lecture: relationnel ou hiérarchique.
Le mode relationnel permet de produire une feature par objet dans le fichier IFC. A contrario, le mode hiérarchique considère l’ensemble des objets comme une seule feature, et comprend plusieurs niveaux agrégés de géométrie. Ces niveaux agrégés permettent de représenter la hiérarchie du fichier IFC initial.
En inspectant le fichier IFC lu en mode hiérarchique dans le data inspector, nous constatons aisément la structure du fichier IFC, le site (1 - IfcSite) contient un bâtiment (2 – IfcBuilding) qui lui-même contient un étage (3 - IfcBuildingStorey) et ainsi de suite.
En mode relationnel, cette hiérarchie peut être retrouvée à l’aide des attributs GlobalId et ifc_parent_id
Dans l’exemple ci-dessus, le mur peut être mis en relation avec l’étage correspondant.
Gestion des attributs
La gestion des attributs est un peu particulière dans un fichier IFC. En effet les attributs peuvent être stockés en tant que Geometry Traits.
Ces Geometry traits permettent de stoker l’information attributaire à chaque niveau hiérarchique du fichier IFC. L’image ci-dessus montre par exemple les attributs se référant au mur.
Ainsi, les attributs ne sont pas visibles comme des attributs « normaux » dans FME via la vue tabulaire dans l’inspector. Pour compliquer encore un peu la tâche, les Geometry traits ne sont pas les seuls endroits dans un fichier IFC où des données attributaires peuvent se cacher.
En effet certaines données peuvent être placées dans des property sets. Ces property sets sont des instances géométriques de géométrie nulle. Ces instances géométriques sont des références à une structure de données définies dans un modèle, un peu comme des blocs dans AutoCAD. Dans un fichier IFC brut, ces proprety sets sont des tables annexes auxquelles chaque objet peut faire référence. Ainsi plusieurs objets peuvent pointer vers les mêmes attributs. Ceci est par exemple le cas lorsque toutes les portes d’un bâtiment sont identiques et possèdent les mêmes caractéristiques. Au lieu de créer une description par porte, il est plus judicieux de définir une description commune à l’ensemble des portes, et faire pointer chaque porte vers la définition commune.
Dans cet exemple, le proprerty set nommé Dimensions contient des attributs de surface, de longueur, de volume, etc.
Nous savons maintenant comment lire et comprendre un fichier IFC et ses attributs. L’extraction d’attributs dans des proprerty set en attributs dit « normaux » est possible à l’aide du transformer GeometryPropertyExtractor. Cette fonctionnalité permet ainsi de traiter les attributs afin de les enregistrer dans des formats autres que IFC.
Lors de l’écriture d’un nouveau IFC, les attributs doivent être référencés dans le feature type concerné, ainsi que dans le PropretySetDefinition.