Règles

  • Nom : Règles
  • Etat : Beta
  • Icône: image

L’outil Règles permet de valider des règles définies dans un fichier excel sur le modèle IFC courant. Le fichier excel doit suivre un format de cellule particulier.

L’outil est accessible via un bouton dans la barre des tâches :

fr_BIMProgramCheckerIcon

L’interface de l’outil se présente comme suit :

fr_BIMProgramCheckerUI

L’utilisateur doit renseigner deux chemins de fichiers :

  • Un fichier excel d’entrée (un exemple commenté est présent dans le dossier Exemple/ de l’application, le fichier Rules_editor.xlsx)
  • Un fichier bcfzip de sortie

Si la validation des règles fonctionne correctement, le fichier bcfzip est créé et automatiquement ouvert dans l’outils d’Annotations (si il est chargé). Voici un exemple d’annotations créées à partir des Règles :

Et la vue détaillée d’une annotation :

fr_BIMProgramCheckerAnnotationExample

Fonctionnalités avancées

L’outil Règles a été conçu afin d’être paramétrable à partir d’un fichier excel. En revanche, afin d’avoir un outil polyvalent et puissant, ce formatage peut être assez compliqué. Pour cette raison, nous avons jusqu’à présent toujours livré, moyennant finance, un fichier utilisable pour les besoins particuliers d’un client. Mais chacun est libre de créer un fichier de configuration en suivant les règles de formatage ci-dessous:

Remarque: Dans le dossier d’installation d’eveBIM, il existe dans le dossier Exemples un fichier Rules_editor.xlsx annoté pour aider à la création du fichier.

Feuille règle

Exemple paramètrage excel

Pour fonctionner avec les dernières fonctionnalités, cette feuille excel doit impérativement:

  • se nommer « BIM Program » ou être la première feuille excel.
  • comporter en A1 le mot « version » et en B1 le numéro de version du checker (IMPERATIVEMENT 2.10.0)
  • une case contenant la notion « Pset cible » qui servira de point de repère pour les différentes règles en imposant que:
    • La ligne de cette cellule contient le chemin des propriétés à vérifier (dans le modèle).
    • La ligne Pset + 1 contient les opérateurs de vérifaction des règles.
    • Le lignes Pset + 2 et suivantes contiennent les sélections d’objets pour les règles à vérifier.
    • La ligne Pset - 1 contient l’alias du nom de la règle qui sera utilisée dans les annotations.
    • La colonne « Selection » est la même que celle de la cellule Pset.
    • La colonne précédente (Pset - 1, optionnelle) contient l’alias du nom de la sélection utilisée pour les annotations.

(

)

Une règle est définie par une valeur cible à l’intersection d’une ligne de sélection et d’une colonne opérande/opérateur.

La partie sélection

Rappel: La colonne de sélection est la même que la cellule « Pset cible ». La colonne précédente contient l’alias de la sélection.

Cette partie permet de choisir les éléments du modèle courant sur lesquels les règles vont être appliquées.
C’est une expression mathématique évaluée qui s’exprime de cette façon :
PropriétéA opérateur valueA operateur logique PropriétéB opérateur valueB …

  • Une propriété est définie par son chemin dans l’arbre des propriétés (cf, vue propriété). Ce chemin peut directement être récupéré via un clic droit sur la propriété voulue dans eveBIM.
  • opérateur peut être un opérateur de comparaison classique (=, >, <, !=, >=, <=), une expression régulière ou les mots clés STARTS_WITH ou CONTAINS pour comparer des chaines de caractères.
  • value est la valeur utilisée pour tester la propriété, elle doit être du même type que la propriété (chaine de caractères, nombre entier ou flottant, booléen…)
  • operateur logique AND ou OR (et/ou) pour combiner plusieurs expressions sur les propriétés.

Exemple : Il est possible de récupérer tous les éléments qui sont de type IfcSpace ET qui ont un nom commençant par « salle » OU tous les éléments de type IfcRoom qui ont une superficie supérieure à 20m², par cette expression:
(« Fields/ClassType » = « IfcSpace » AND « Fields/LongName » STARTS_WITH « salle ») OU (« Fields/ClassType » = « IfcRoom » AND « Properties/BaseQuantities/GrossFloorArea » > 20)

ATTENTION:

  • Bien conserver les guillemets autour des propriétés et des valeurs de comparaison qui sont de type chaînes de caractères, et les espaces avant et après les opérateurs arithmétiques.
  • Ecrire correctemment le chemin des propriétés, qui est sensible à la casse et aux espaces. Pour plus de sécurité, penser à utiliser le clic droit / copier la propriété à partir de la vue propriétés d’eveBIM.
  • Penser aux parenthèses pour gérer l’ordre de priorité des opérations AND/OR (AND étant prioritaire).

A noter que le chemin d’une propriété correspond à sa généalogie complète dans la vue propriété, les enfants étant séparés par un « / ».

La partie opérande / opérateur

Pour chaque colonne situées après la cellule « Pset cible », une association opérande / opérateur est définie.
La ligne « Pset cible » - 1 contient l’alias de la règle,
la ligne « Pset cible » contient le chemin de la propriété (Rappel: Une propriété est définie par son chemin dans l’arbre des propriétés. Ce chemin peut directement être récupéré via un clic droit sur la propriété voulue dans eveBIM.)
et enfin la ligne « Pset cible » + 1 contient l’opérateur à appliquer, parmi:

  • min: valeur minimum que doit prendre la valeur de la propriété cible (équivalent à >=).
  • max: valeur maximum que peut prendre la valeur de la propriété cible (équivalent à <=).
  • +/- x%, -/+ x%: Ecart maximal accepté de x% (x, valeur numérique en pourcent) sur la valeur de la propriété.
  • Opérateur « ne contient pas » et « contient ».
  • Opérateur « n’est pas élément de » et « est élément de ».
  • exists: pour vérifier si une propriété cible est présente, peu importe sa valeur.
  • unit: pour vérifier que l’unité de la propriété cible correspond à celle attendue.
  • inlist: la valeur test est présente dans la liste de la propriété cible.
  • L’ensemble des opérateurs de comparaison basiques: =, >, <, !=, >=, =.

ATTENTION: Chaque opérateur n’est pas applicable à toutes les propriétés, par exemple « inlist » ne fonctionnera que sur des propriés « liste de valeurs », « % » uniquement sur des propriétés cibles de type numérique, « unit » uniquement sur des propriétés cible avec des unités (de type mesures).

La partie règle

Une règle est définie par une valeur cible à l’intersection d’une ligne de sélection et d’une colonne opérande/opérateur.

Exemple:

Dans cette exemple, nous vérifions 2 règle:

Cellule [C5]:\

Selection [B5] :
« Fields/ClassType » = « IfcSpace » AND « Fields/LongName » = « SDB », alias salles de bain.
Nous vérifions tous les objets de type IfcSpace qui ont pour propriété « Fields/LongName » la valeur SDB.
l’alias « salle de bain » sera utilisé dans le rapport d’erreurs généré.
Opérande [C2] :
« Properties/BaseQuantities/GrossFloorArea », alias loi Carrez.
C’est la propriété qui va être vérifié. L’alias servira au rapport d’erreurs.
Opérateur : >=
valeur cible : 5.
On vérifie que toutes les « salles de bain », c’est-à-dire tous les IfcSpace qui ont pour LongName SDB, repectent la « loi Carrez », à savoir que leurs propriétés « Properties/BaseQuantities/GrossFloorArea » ont une valeur supérieure ou égale à 5m².

Cellule [D6]:\

Selection [B6]
« Fields/ClassType » = « IfcSpace », alias Tous les espaces.
Nous vérifions les objets de type IfcSpace
Opérande [D3]
Properties/BaseQuantities/GrossFloorArea >=, alias unité de surface.
Operateur [D4] unité de surface
valeur cible : m².
On vérifie que tous les espaces de la maquette ont une propriété Properties/BaseQuantities/GrossFloorArea définie en m². Cette règle est appelé « Unité de surface ».