Une Introduction Douce aux IDS

Publié le

David Ghitulescu

David Ghitulescu

Spécialiste OpenBIM et responsable technique chez Sortdesk

Le Problème

Contexte

Vous voulez assurer la qualité d’un fichier IFC, cela implique généralement :

  1. que toutes les parties s’accordent sur un ensemble de critères et leur signification
  2. rédiger un document (par ex. excel) qui liste tout ce qui précède
  3. quand un IFC est prêt pour vérification :
    • parcourir chaque élément dans le fichier IFC
    • et comparer avec toutes les exigences applicables

Si c’est un processus manuel, même si chaque critère prend 1 seconde à vérifier, multipliez par 20 critères et 1000 éléments et cela devient des heures ou des jours de contrôle qualité.

Ce qu’est IDS

La Spécification de Livraison d’Information est un document texte structuré qui définit comment les données à l’intérieur d’un fichier IFC doivent être structurées.

Vous pouvez trouver un exemple concret (specifications.ids) de son apparence vers la fin de cet article, mais cela n’est généralement pas pertinent car la principale façon d’interagir avec celui-ci sera à travers divers Éditeurs IDS qui fournissent une interface utilisateur.

Ce que résout IDS

En général, IDS vous aide à définir des exigences alphanumériques pour les entités à l’intérieur du fichier IFC, il ne traite pas la géométrie donc vous ne pouvez pas l’utiliser pour des exigences géométriques (niveau de détail, collisions, tolérances, boucles fermées, alignements, etc.)

Un fichier IDS :

  • force à spécifier des valeurs alphanumériques concrètes
    • c’est-à-dire aucune place pour l’ambiguïté
  • est lisible et vérifiable par machine contre un fichier IFC
    • c’est-à-dire que le processus de contrôle qualité se résume à appuyer sur un bouton
  • est soutenu par un ensemble de standards interopérables
    • c’est-à-dire qu’une fois qu’une exigence est définie, elle pourrait être réutilisée à travers différents projets ou entreprises

Ce qu’il PEUT faire

  • filtrer et vérifier toute combinaison de valeurs alphanumériques concrètes, motifs de texte ou plages
    • par ex. “le Nom est Room-XX où X est un chiffre”, “la Longueur est >= 2 et <= 3”
  • fonctionner avec IFC2X3, IFC4, IFC4x3_ADD2
  • accéder aux attributs, classifications, toute entité IFC, matériaux, propriétés
    • par ex. “quand le Type d’Élément d’un Revêtement de Sol est ‘Bois’, son matériau doit être ‘Wood-O-52’”
  • filtrer et vérifier les relations (généralement : X fait partie de Y)
    • par ex. “Les IfcMembers doivent être agrégés dans un IfcElementAssembly de Poutre”

Ce qu’il NE PEUT (encore) PAS faire

  • vérifier l’unicité par ex. “Tous les noms de pièces doivent être uniques”
  • agréger des valeurs par ex. “La surface totale doit être < 100m²”
  • compter les entités par ex. “Il doit y avoir 2 portes de sortie de secours par étage”
  • comparer des valeurs par ex. “Date d’Expiration > Date d’Installation + 5 ans”
  • détection de collision (ou quoi que ce soit de géométrique)

Note : Les valeurs pour les surfaces, hauteurs, longueurs, etc. peuvent être vérifiées si elles sont pré-calculées et stockées comme attributs ou propriétés

Une exigence concrète

Prenons l’exemple de "toutes les colonnes IFC sont appelées 'Column Precast 300x300' ou 'Column Precast 500x500'" pour l’écrire comme spécification et la vérifier contre un fichier IFC.

Générer un fichier .ids

Bien que vous puissiez techniquement écrire un fichier .ids à la main, il est beaucoup plus pratique d’utiliser une interface pour le faire. J’utiliserai viewer.sortdesk.com, mais c’est un fichier interchangeable : vous pouvez le générer avec n’importe quelle application et l’exécuter avec n’importe quelle autre

Note : (actuellement IDS v1.0 est la version largement supportée, mais à l’avenir vous pourriez vouloir vérifier que l’outil que vous utilisez génère la version que vous voulez)

  1. Choisir le nom de Spécification et les Versions IFC applicables :
    • nom : Column naming
    • version : IFC2x3
  2. Sélectionner sous quelle condition la règle s’applique : is Entity :
    • nom : IFCCOLUMN
  3. Sélectionner les exigences : has Attribute :
    • nom : Name
    • valeur : énumération de Column Precast 300x300 et Column Precast 500x500

Une capture d'écran montrant les valeurs ci-dessus définies dans une interface Pour un tutoriel étape par étape sur l’utilisation de cette interface, voir ce tutoriel.

Cela crée un fichier qui sous le capot ressemble à :

Cliquez pour développer le fichier specifications.ids
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://standards.buildingsmart.org/IDS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd">
  <info>
    <title>New IDS</title>
  </info>
  <specifications>
    <specification name="Column naming" ifcVersion="IFC2X3">
      <applicability>
        <entity>
          <name>
            <simpleValue>IFCCOLUMN</simpleValue>
          </name>
          <predefinedType>
            <simpleValue></simpleValue>
          </predefinedType>
        </entity>
      </applicability>
      <requirements>
        <attribute>
          <name>
            <simpleValue>Name</simpleValue>
          </name>
          <value>
            <xs:restriction>
              <xs:enumeration value="Column Precast 300x300"></xs:enumeration>
              <xs:enumeration value="Column Precast 500x500"></xs:enumeration>
            </xs:restriction>
          </value>
        </attribute>
      </requirements>
    </specification>
  </specifications>
</ids>

Exécuter les vérifications

Ce fichier specifications.ids peut être donné avec your_model.ifc à n’importe quel Vérificateur IDS pour obtenir un résultat, ce qui dans ce cas signifie appuyer sur “Check Loaded Model” pour obtenir une visualisation des échecs :

Une capture d'écran montrant toutes les portes surlignées en rouge et l'échec spécifique de la propriété FireRating pour l'une d'entre elles

  • Pour un tutoriel étape par étape sur comment exécuter des fichiers dans l’interface ci-dessus, voir ce tutoriel.
  • Vous avez aussi l’option de créer un “gate” avec un fichier IDS préchargé et partager le lien où vous glissez-déposez simplement le fichier