J’ai besoin de trouver la surface d’une toiture en contact avec une pièce dans un comble, et je cherche une solution en C# via l’API Revit.
Pour obtenir la surface de contact entre une toiture et une pièce via l’API Revit en C#, il est nécessaire d’utiliser des opérations géométriques sur les solides des éléments. La méthode proposée par Charles PIRO (Developer PIRO CIE) est la suivante :
- Récupérer l’identifiant du toit : Utilisez les méthodes de collecte d’éléments similaires à celles employées pour les murs et les fenêtres afin d’obtenir l’ElementId du toit concerné.
- Convertir le volume de la pièce en solide : À partir de l’objet Room de la pièce, extrayez son volume géométrique sous forme de Solid en utilisant la classe
SpatialElementGeometryCalculator. - Identifier la face inférieure du toit : Accédez à la géométrie du toit et isolez la face qui est en contact potentiel avec le volume de la pièce (généralement la face inférieure ou les faces en rampant).
- Effectuer une intersection géométrique : Réalisez une opération d’intersection entre le Solid de la pièce et la face (ou le solide) du toit. L’API Revit offre des outils pour effectuer ces opérations booléennes sur les géométries.
- Calculer la surface : Une fois la géométrie d’intersection obtenue, calculez sa surface pour obtenir la donnée souhaitée en mètres carrés.