API Revit C#: Récupérer la longueur d'un mur associée à une pièce

J’ai besoin de développer un script en C# pour l’API Revit afin de récupérer la longueur des murs en contact avec une pièce spécifique. Comment puis-je accéder à cette information de manière fiable ?

Pour obtenir la longueur d’un mur en contact avec une pièce via l’API Revit en C#, il faut accéder aux propriétés de l’élément mur à partir des limites spatiales de la pièce.

Voici la procédure à suivre, proposée par christian.stan :

  1. Accédez à l’élément mur hôte via le SpatialBoundaryElement de la subface de la pièce : doc.GetElement(subface.SpatialBoundaryElement.HostElementId).
  2. Utilisez la méthode LookupParameter("Longueur") sur cet élément pour récupérer le paramètre de longueur du mur.
  3. Extrayez la valeur numérique de ce paramètre en utilisant AsDouble(). Le résultat sera en pieds (unité interne de l’API Revit).
  4. Convertissez la valeur en mètres en multipliant par le facteur 0.3048.
  5. Attention : Un mur peut être commun à plusieurs pièces. Cette approche se base sur les arêtes (edges) pour une meilleure précision, évitant les erreurs de double-comptage ou d’attribution incorrecte.