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 :
- Accédez à l’élément mur hôte via le
SpatialBoundaryElementde lasubfacede la pièce :doc.GetElement(subface.SpatialBoundaryElement.HostElementId). - Utilisez la méthode
LookupParameter("Longueur")sur cet élément pour récupérer le paramètre de longueur du mur. - Extrayez la valeur numérique de ce paramètre en utilisant
AsDouble(). Le résultat sera en pieds (unité interne de l’API Revit). - Convertissez la valeur en mètres en multipliant par le facteur
0.3048. - 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.