lundi 18 juillet 2011

Revit 2012 : Arrondir les surfaces dans les nomenclatures

Il vous est forcément arrivé en recalculant manuellement les totaux des surfaces de pièces, d'être confronté au problème des arrrondis des totaux.
Ce problème est vieux comme l'arithmétique.
Le total des sommes arrondies n'est pas égal à l'arrondi du total des sommes.
En clair :
Le total de ces surfaces ne fait pas 203.43 m² mais 203.44 m²
Chacune des surfaces est arrondie à l'affichage en fonction des règlages de valeur des champs dans la nomenclature. MAis le total général lui est calculé avec les surfaces réelles, d'où cet écart.

La version REvit 2012 introduit trois nouvelles fonctions d'arrondi pour les formules.
Nous allons utiliser la fonction Round(x) qui permet arrondir à l'entier plus proche (Le principe serait le même avec Roundup() et Rounddown())
Cette fonction n'est opérationnelle que sur les champs de type nombre. Nous allons donc créer un paramètre intermédaire de type nombre qui contiendra la valeur nominale arrondie de la surface, puis un autre paramètre de type surface pour contenir le résultat final.
Dans la nomenclature,  créez deux champs calculés
1- Surface nominale arrondie
          Type : Nombre
          Formule : round(Surface / 0.01 m²)
2- Surface arrondie
          Type : Surface
          Formule : (Surface nominale arrondie * 1 m²)/100

Dans la mise en forme de votre nomenclature, masquez les champs Surface et Surface nominale arrondie, puis calculez les totaux de Surface arrondie.
La nomenclature affiche maintenant la bonne valeur.


Modification le 19/7/2011 :
Une solution alternative est proposée par Jérôme Beauchène sur AUGI. Elle est à la fois plus simple et plus compliquée. Plus simple, parcequ'on se passe du paramètre intermédiaire, et plus compliquée à cause de la formule.

Aucun commentaire: