Le présent guide a pour but de décrire la méthodologie pour réaliser un plan contenant des informations de relevés thermiques sous la forme de couleurs.

Exemple de visualisation d'un plan thermique

Exemple de visualisation d'un plan thermique

1. Prérequis

Pour générer ces plans, il est indispensable de disposer du plugin Weaverbird, utilisé pour sa gestion optimale des meshes.

L'installation du plugin Weaverbird se fait en utilisant la commande PackageManager, directement dans Rhino. Il n'est pas disponible sur la plateforme Food4Rhino.

En parallèle, il est important de disposer de :

  • Un plan de la ou des pièce(s) à représenter ;
  • Des mesures de capteurs de température à des points représentatifs de la pièce.

2. Fichiers modèles

Pour illustrer la méthode qui suit, un fichier Rhino et son script Grasshopper correspondant sont disponibles. Ces documents sont issus de l’analyse des bureaux de l’agence à Paris.

Télécharger le fichier Rhino d’exemple

Télécharger le fichier Grasshopper d’exemple

Télécharger le fichier de données relevées

Le fichier Grasshopper d'exemple contient les dépendances suivantes, il convient de les installer :

  • Weaverbird 0.9.0.1 (installer en utilisant le PackageManager de Rhino) ;
  • Bifocals 0.5.0.0 (optionnel, pour l’affichage des noms de composants) ;
  • Moonlight 1.0.0.0 (optionnel, pour l’affichage en mode sombre).

3. Modèle Rhino

Le modèle Rhino d’exemple contient ici plusieurs éléments :

  • Le plan dessiné en 2D (avec des Curves et des Hatches) ;
  • Un Mesh a été créé, représentant l’espace intérieur sur lequel on souhaite générer le plan thermique.

Pour générer un tel Mesh, il suffit de :

  1. Dessiner une Curve fermée représentant l’espace intérieur ;
  2. Utiliser la commande PlanarSrf pour créer une Surface à partir de cette Curve ;
  3. Puis, à partir de la Surface, utiliser la commande Mesh pour la transformer en Mesh ;
  4. Une fois ces étapes réalisées, il est possible de supprimer la Curve et la Surface ayant servi à la construction du Mesh.

Dans Rhino, une Surface est un objet défini mathématiquement par des NURBS (Non-Uniform Rational B-Splines), offrant une représentation lisse et précise, idéale pour le design et la fabrication. Un Mesh, en revanche, est une approximation polygonale composée de faces triangulaires ou quadrangulaires, adaptée aux rendus, simulations et impressions 3D, mais moins précise pour les modifications complexes.

4. Définition Grasshopper

Le script est divisé en groupes (visibles sous la forme de blobs de couleur et portant chacun un titre). La suite de ce guide indique l’usage de chacun de ces groupe et sa fonction dans la définition.

Définition Grasshopper de la visualisation du plan thermique

Définition Grasshopper de la visualisation du plan thermique

4.1. Mesh

La définition du mesh représentant la surface de la pièce. Celui-ci est passé au travers d’un composant

4.2. Points

La définition des positions des capteurs (dans le cas présent, il y 8 capteurs donc 8 positions, ce chiffre peut être modulé selon le nombre de points captés).

Les 8 points sont ensuite fusionnés à l’aide d’un composant Merge. Leur ordre a une importance par rapport à la suite de la définition.

4.3. Listes de données

Les données sont lues à partir d’un fichier .csv téléchargeable ici. Les première lignes de ce fichier sont représentées ci-dessous :

Timestamp,S1-Temp,S1-Hum,S2-Temp,S2-Hum,S3-Temp,S3-Hum,S4-Temp,S4-Hum,S5-Temp,S5-Hum,S6-Temp,S6-Hum,S7-Temp,S7-Hum,S8-Temp,S8-Hum,Out-Rainfall,Out-TempMin,Out-TempMax,Out-TempMean,Sunrise,Sunset
2024-03-20 00:00:00,21.0,54.4,21.3,47.6,22.0,45.9,21.8,46.7,20.4,48.8,20.5,45.7,20.1,46.1,20.8,44.5,0.0,3.8,21.8,11.5,06:52:42.902244,19:04:00.278413
2024-03-20 00:20:00,21.0,54.2,21.3,47.6,22.0,45.9,21.8,46.6,20.4,48.8,20.5,45.5,20.1,45.8,20.8,44.3,0.0,3.8,21.8,11.5,06:52:42.902244,19:04:00.278413
[...]

Les colonnes qui nous intéressent plus particulièrement sont :

  • Timestamp : la date et l’heure de la captation ;
  • S1-Temp, S2-Temp, S3-Temp, etc : la température pour chacun des capteurs ;
  • les autres colonnes concernent l’humidité relative la température extérieure, le lever et le coucher du soleil, qui ne seront pas utilisés dans la présente visualisation.

Pour lier ce fichier .csv à la définition Grasshopper, il faut faire un clic-droit sur le composant File Path, puis choisir Select one existing file, puis choisir le fichier .csv dans la fenêtre d’explorateur de fichiers qui s’ouvre.

Les composants placés à la suite du File Path permettent de lire le fichier .csv. Le composant Explode Tree indique en sortie chacun des colonnes du fichier .csv. L’opération Cull Index réalisée ensuite sur chacune des colonnes permet de retirer la première ligne, qui contient le titre de la colonne (Timestamp, S1-Temp, etc).

Des composants List Item, commandés à l’aide d’un Slider (entouré en rouge), permettent ensuite de naviguer ligne par ligne dans les données du fichier .csv.

Un composant Merge permet de refusionner ces données.

Il est important d'entrer les valeurs dans le Merge relativement à l'ordre des capteurs défini précédemment : le premier point représentant le premier capteur recevra les données de la première entrée du présent composant Merge, et ainsi de suite.

4.4. Affichage graphique des données

L’échelle de couleur est ici ajustée manuellement, avec 26 °C en valeur maximale et 18 °C en valeur minimale. Ce paramètre pourrait être géré de manière dynamique avec des composants de domaines, ou peut être ajusté selon les valeurs relevés, pour afficher les données relevées avec le plus de représentativité possible. Le choix est ici fait de gérer les valeurs manuellement.

Le composant Mesh Spray qui suit reçoit enfin le mesh, les points et les couleurs selon les valeurs. Un composant Blur Mesh permet de régler la visualisation selon les données d’entrées.

4.5. Affichage textuel des données

Ce groupe de composants permet d’afficher sur chaque point la température mesurée à l’instant t, ainsi que la date et l’heure.