L’intégration de l’IOT dans le BIM via Autodesk Forge


La transformation numérique dans le secteur de l’architecture, de l’ingénierie et de la construction est principalement basée sur la Modélisation des Données du Bâtiment ou BIM.

La transformation numérique dans le secteur de l’architecture, de l’ingénierie et de la construction est principalement basée sur la Modélisation des Données du Bâtiment ou BIM. Ce processus pourvoit des méthodologies de travail fortement facilitées via le cloud permettant de structurer les données dans un modèle intelligent et pluridisciplinaire.

Les données peuvent entre autre s’intégrer au BIM grâce l’Internet des Objets – Internet of Things – ou IoT, définie par l’Union internationale des télécommunications comme « une infrastructure mondiale pour la société de l’information, qui permet de disposer de services évolués en interconnectant des objets (physiques ou virtuels) grâce aux technologies de l’information et de la communication interopérables existantes ou en évolution ». Les systèmes IoT peuvent être résumés en une liste de capteurs et de valeurs de capteurs.

Le modèle BIM est un moyen naturel de donner un sens et un contexte aux données de l’IoT et de relier également les valeurs de capteurs les unes aux autres. Dans ce cadre, il sera traité dans cet article de l’intégration de l’IoT au sein du BIM grâce à Autodesk Forge, plateforme d’Autodesk orientée sur la connectivité des outils de construction.

Le lien entre BIM360, Autodesk Forge et l’IoT

A l’aide notamment de l’ensemble d’APIs BIM 360, Autodesk Forge permet la création d’applications axées sur le BIM et personnalisées pour répondre aux différents besoin dans ce domaine.

En premier lieu, la gestion de comptes, de projets, des issues et des checklists provenant de BIM 360 peuvent être exploitées grâce à Autodesk Forge via les APIs « BIM 360 Account Admin », « BIM 360 issues » et « BIM 360 checklists ». Ceux-ci permettent d’externaliser la gestion et l’administration de comptes BIM 360 et de synchroniser les données avec des systèmes extérieurs.

D’autre part, la publication, l’accès et le partage de plans 2D, de modèle BIM ou de n’importe quel autre fichier d’un projet BIM 360 peuvent être intégrés à une Application Forge grâce aux APIs « BIM 360 Document Management » et « Forge Data Management API ». Cela permet d’accéder aux documents, ce qui sera utile pour agrémenter l’application Forge de fonctionnalités, telles que la gestion de dossiers BIM 360, l’export de fichiers PDF ou encore la suppression / restauration de fichiers mais sera également nécessaire pour la récupération de fichiers qui seront le support des intégrations de données extérieurs.

Cette intégration sera possible grâce au Viewer Forge qui permettra d’afficher les éléments récupérés via BIM 360 dans un contexte BIM permettant ainsi d’y intégrer graphiquement des informations externes liées à l’IoT des applications Forge.

Cette intégration peut se faire de deux façons qui seront explicitées par la suite.

Intégration de l’IoT dans le Forge via des développements spécifiques

Dans le but d’expérimenter l’intégration de l’IoT dans Autodesk Forge à l’IoT, une plateforme a été développé par Akance Systems visant à intégrer des capteurs NetAtmo à la maquette de son siège à Voisins-le-Bretonneux. 

Cette plateforme permet de coupler une vue des emplacements des différents capteurs présents sur la maquette à des données de température, de CO2, d’humidité, de bruit et de pression ; informations fournies par lesdits capteurs.

Les données récoltées par les capteurs sont stockées en base et permettent d’obtenir un historique de celles-ci également consultables au sein du Viewer Forge.

Cette plateforme est accessible à l’adresse suivante : Arkance Systems IoT – Arkance Siège  et est un exemple d’intégration de données IoT réalisé avec des développements spécifiques. Récemment, Autodesk a confirmé son désir de faire de Forge une solution propice à l’intégration de l’IoT dans le BIM avec des solutions facilitant l’intégration de données de capteurs dans son Viewer.

Les solutions d’Autodesk pour l’intégration de l’IoT au Viewer Forge

Des fonctionnalités de visualisation de données ont en effet été ajoutées récemment à l’ensemble des fonctionnalités Forge par le biais d’extensions JavaScript venant enrichir le Viewer.

Ces fonctionnalités sont regroupées dans une extension qui peuvent être intégrées au Viewer grâce au gestionnaire de paquets NPM. Elles sont séparées en plusieurs composants et pensées pour simplifier l’intégration de l’IoT :

SpritesSuperposition d’icônes 2D sur la maquette représentant les capteurs ou autre information de position.
Surface ShadingApplication de « HeatMap » sur une zone du module représentant les températures par des zones.
Timeline UIAjout d’interfaces supplémentaires représentant des timelines, dashboards ou autres graphiques dans l’application.

Les données récupérées dans le but d’être affichées dans l’application peuvent provenir de différentes sources pour être intégrées dans le Viewer Forge avec les informations voulues.

Elles peuvent être représentées dans celui-ci avec l’extension « Autodesk.Datavisualization ». Cette extension donne accès à un éventail de fonctionnalités pour la représentation de points ou de « heatmaps » dans le modèle. Pour l’initialiser, il faut charger l’extension comme ceci :

// Charger ‘Autodesk.DataVisualization’ et le placer dans une variable pour une utilisation ultérieure

const dataVizExtn = await viewer.loadExtension(“Autodesk.DataVisualization”);

Puis, il est préférable d’enregistrer ces éléments dans une variable pour faciliter l’accès :

const DataVizCore = Autodesk.DataVisualization.Core;
const viewableType = DataVizCore.ViewableType.SPRITE;
const spriteColor = new THREE.Color(0xffffff);
const baseURL = "http://localhost:9081/images/";
const spriteIconUrl = `${baseURL}fan-00.svg`;
const style = new DataVizCore.ViewableStyle(viewableType, spriteColor, spriteIconUrl);

Ici, « DataVizCore » représente la variable permettant de configurer le style de l’élément que l’on veut rajouter. La variable « style » correspond à un style visuel pour l’élément que l’on veut rajouter. On aura donc un Sprite avec une couleur définie et représenté graphiquement par un fichier .SVG présent dans l’application.

Une fois le style défini, il faut générer un Viewable avec le style créé précédemment, une position et un dbId qui représente l’Id de l’élément que l’on souhaite ajouter :

const position = { x: 10, y: 2, z: 3 };
const dbId = 9999 ;
const viewable = new DataVizCore.SpriteViewable(position, style, dbId);

Ce viewable sera ajouté à une variable viewableData qui sera elle-même ajoutée à l’extension au Viewer dataVizExtn qui a été initialisée en premier lieu :

const viewableData = new DataVizCore.ViewableData();
viewableData.spriteSize = 24;
await viewableData.finish();
dataVizExtn.addViewables(viewableData);

Sprite viewable objectsCet ajout sera ainsi représenté sur le Viewer Forge :