Eine Sanfte Einführung in IDS

Veröffentlicht am

David Ghitulescu

David Ghitulescu

OpenBIM-Verfechter und technischer Leiter bei Sortdesk

Das Problem

Kontext

Sie möchten die Qualität einer IFC-Datei sicherstellen, das bedeutet normalerweise:

  1. alle Parteien einigen sich auf eine Reihe von Kriterien und deren Bedeutung
  2. ein Dokument schreiben (z.B. Excel), das alles oben Genannte auflistet
  3. wenn eine IFC zur Überprüfung bereit ist:
    • jedes Element in der IFC-Datei durchgehen
    • und vergleichen mit allen anwendbaren Anforderungen

Wenn dies ein manueller Prozess ist, auch wenn jedes Kriterium 1 Sekunde zur Überprüfung braucht, multipliziert mit 20 Kriterien und 1000 Elementen wird es Stunden oder Tage der Qualitätssicherung.

Was IDS ist

Information Delivery Specification ist ein strukturiertes Textdokument, das definiert, wie die Daten innerhalb einer IFC-Datei strukturiert sein sollten.

Sie können ein konkretes Beispiel (specifications.ids) davon finden, wie es gegen Ende dieses Artikels aussieht, aber das ist im Allgemeinen nicht relevant, da der Hauptweg zur Interaktion damit über verschiedene IDS-Editoren erfolgt, die eine Benutzeroberfläche bereitstellen.

Was IDS löst

Allgemein gesprochen hilft IDS Ihnen dabei, alphanumerische Anforderungen für die Entitäten innerhalb der IFC-Datei zu definieren, es verarbeitet nicht die Geometrie, daher können Sie es nicht für geometrische Anforderungen verwenden (Detailgrad, Kollisionen, Toleranzen, geschlossene Schleifen, Ausrichtungen, etc.)

Eine IDS-Datei:

  • zwingt zur Spezifikation konkreter alphanumerischer Werte
    • d.h. kein Raum für Mehrdeutigkeit
  • ist maschinenlesbar und überprüfbar gegen eine IFC-Datei
    • d.h. der QA-Prozess reduziert sich auf das Drücken eines Knopfes
  • wird von einem interoperablen Set von Standards unterstützt
    • d.h. einmal definiert könnte eine Anforderung über verschiedene Projekte oder Unternehmen wiederverwendet werden

Was es KANN

  • filtern und überprüfen jede Kombination konkreter alphanumerischer Werte, Textmuster oder Bereiche
    • z.B. “der Name ist Room-XX wobei X eine Ziffer ist”, “die Länge ist >= 2 und <= 3”
  • mit IFC2X3, IFC4, IFC4x3_ADD2 arbeiten
  • auf Attribute, Klassifikationen, jede IFC-Entität, Materialien, Eigenschaften zugreifen
    • z.B. “wenn der Elementtyp eines Bodenbelags ‘Holz’ ist, muss sein Material ‘Wood-O-52’ sein”
  • Beziehungen filtern und überprüfen (allgemein: X ist Teil von Y)
    • z.B. “IfcMembers müssen in Träger-IfcElementAssembly aggregiert werden”

Was es (noch) NICHT kann

  • auf Eindeutigkeit prüfen z.B. “Alle Raumnamen müssen eindeutig sein”
  • Werte aggregieren z.B. “Gesamtfläche muss < 100m² sein”
  • Entitäten zählen z.B. “Es müssen 2 Feuerausgangstüren pro Stockwerk vorhanden sein”
  • Werte vergleichen z.B. “Ablaufdatum > Installationsdatum + 5 Jahre”
  • Kollisionserkennung (oder irgendetwas Geometrisches)

Hinweis: Werte für Flächen, Höhen, Längen, etc. können überprüft werden, wenn sie vorberechnet und als Attribute oder Eigenschaften gespeichert sind

Eine konkrete Anforderung

Nehmen wir das Beispiel "alle IFC-Stützen heißen 'Column Precast 300x300' oder 'Column Precast 500x500'", um es als Spezifikation zu schreiben und gegen eine IFC-Datei zu prüfen.

Eine .ids-Datei generieren

Während Sie technisch eine .ids-Datei von Hand schreiben könnten, ist es viel praktischer, eine Benutzeroberfläche dafür zu verwenden. Ich verwende viewer.sortdesk.com, aber es ist eine austauschbare Datei: Sie können sie mit jeder Anwendung generieren und mit jeder anderen ausführen

Hinweis: (derzeit ist IDS v1.0 die Version, die weithin unterstützt wird, aber in Zukunft möchten Sie vielleicht überprüfen, dass das Tool, das Sie verwenden, die gewünschte Version generiert)

  1. Den Spezifikationsnamen und anwendbare IFC-Versionen wählen:
    • Name: Column naming
    • Version: IFC2x3
  2. Auswählen, unter welcher Bedingung die Regel gilt: is Entity:
    • Name: IFCCOLUMN
  3. Die Anforderungen auswählen: has Attribute:
    • Name: Name
    • Wert: Aufzählung von Column Precast 300x300 und Column Precast 500x500

Ein Screenshot, der die oben genannten Werte in einer Benutzeroberfläche zeigt Für eine Schritt-für-Schritt-Anleitung zur Verwendung dieser Benutzeroberfläche, siehe dieses Tutorial.

Dies erstellt eine Datei, die unter der Haube so aussieht:

Klicken Sie, um die specifications.ids-Datei zu erweitern
<?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>

Die Überprüfungen ausführen

Diese specifications.ids-Datei kann zusammen mit your_model.ifc an jeden IDS-Checker gegeben werden, um ein Ergebnis zu erhalten, was in diesem Fall bedeutet, “Check Loaded Model” zu drücken, um eine Visualisierung der Fehler zu erhalten:

Ein Screenshot, der alle Türen rot hervorgehoben zeigt und den spezifischen Fehler der FireRating-Eigenschaft für eine von ihnen

  • Für eine Schritt-für-Schritt-Anleitung, wie Dateien in der obigen Benutzeroberfläche ausgeführt werden, siehe dieses Tutorial.
  • Sie haben auch die Option, ein “Gate” mit einer vorgeladenen IDS-Datei zu erstellen und den Link zu teilen, wo Sie einfach die Datei per Drag & Drop hinzufügen