Information Delivery Specification (IDS): de nieuwe standaard voor IFC-modellen ook in Pillr

Information Delivery Specification (IDS): de nieuwe standaard voor IFC-modellen ook in Pillr

08/01/2024

De modelchecker is al sinds de release één van de belangrijkste features voor Pillr. Met de introductie van de IDS-functionaliteit tillen we deze naar een nog hoger niveau. In deze blog nemen we je mee in deze ontwikkelingen. 

Wat is IDS?

Information Delivery Specification (IDS) is een nieuwe standaard voor het vastleggen en controleren van IFC-bestanden. Een IDS is een bestand wat eindigt op .ids. IDS-bestanden hebben een xml-structuur, bestaande uit een lijst met specificaties.  

Omdat IDS een gedeelde standaard is, zijn ze makkelijk uit te wisselen. Verschillende softwarepakketten kunnen een IFC-model controleren op IDS-specificaties. Er zijn tools beschikbaar om te controleren of een IDS voldoet aan de standaard.

Specificaties 

Een specificatie bestaat uit filters (applicability) en een lijst met vereisten (requirements). De structuur van een filter en requirement is hetzelfde. Er zijn zes soorten. Bij filters definiëren deze omschrijvingen welke elementen gecontroleerd moeten worden, bij requirements definiëren ze waar de gefilterde elementen aan moeten voldoen.

Attributen

Attributen zijn fundamentele data die beschikbaar is voor alle IFC-entiteiten. Ze worden gedefinieerd door de IFC-standaard. In IDS worden ze gedefinieerd door de volgende parameters: 

  • Naam
  • (Optioneel) Waarde

Er wordt gecontroleerd of de entiteit een niet-lege waarde heeft voor het beschreven attribuut. Als de waarde gedefinieerd is, wordt gecontroleerd of de waarde uit de entiteit gelijk is aan de waarde uit de IDS. 

Eigenschappen

Eigenschappen zijn extra data die aan elementen meegegeven kunnen worden. In IDS kunnen deze worden gedefinieerd door de volgende parameters: 

  • Property set: de naam van de set met eigenschappen; 
  • Naam; 
  • (Optioneel) Waarde; 
  • Data type: het data type bepaald welke eenheden gebruikt moeten worden. 

Er wordt gecontroleerd of de beschreven eigenschap aanwezig is op de entiteiten. Als de waarde gedefinieerd is, wordt gecontroleerd of de waarde uit de entiteit gelijk is aan de waarde uit de IDS.

Entiteit

Een entiteit in IDS beschrijft een object of element binnen een model. Elke entiteit is gekoppeld aan een IFC-klasse. Optioneel kan ook een predefined type worden aangegeven.  

Classificatie

Classificatie bestaat uit een systeem en een waarde. Beiden zijn optioneel. In de basis specifieert de classificatie dat een element geclassificeerd moet zijn. Het systeem en de waarde specifiëren wat deze classificatie moet zijn. 

Materiaal

Het materiaal facet geeft aan dat een element een materiaal moet hebben. Optioneel kan worden aangegeven welk materiaal het moet zijn. 

Relaties

Relaties beschrijven relaties met andere elementen. Het soort relatie varieert, dit kan bijvoorbeeld een aggregaat zijn, of een groep elementen. Voor het gerelateerde element wordt een entiteit facet toegevoegd, om aan te geven wat voor soort element dit moet zijn. 

Ontwikkeling voor Pillr

Pillr biedt nu ook ondersteuning voor het inlezen en aanmaken van IDS.  

Import

Er is een optie gekomen om .ids files te importeren. Elke specificatie in een IDS wordt ingelezen als controleregel. Deze worden gegroepeerd onder een categorie met dezelfde naam als de IDS.  

Tijdens het importeren van een IDS wordt ook een validatie gedaan. Zowel de structuur als de inhoud wordt hierbij bekeken. Als er afwijkingen zijn van de IDS standaard, worden deze als waarschuwing getoond.  

Nieuwe IDS-controleregels 

Naast de import van IDS, komt ook een nieuwe editor beschikbaar om IDS te schrijven. Dit geeft gebruikers de mogelijkheid om IDS-bestanden aan te maken vanuit Pillr. De validatie die we gebruiken bij de import van IDS-bestanden, wordt hier gebruikt om te zorgen dat de gebruiker een geldige IDS aanmaakt.

Nieuwe mogelijkheden voor de modelchecker 

De ontwikkelingen voor IDS brengen een aantal nieuwe aspecten voor de modelchecker. Deze zijn beschikbaar voor IDS, maar ook alle andere controleregels. 

Regular expressions 

IDS maakt veelvuldig gebruik van regular expressions. Deze kunnen nu voor controleregels in Pillr gebruikt worden om waarden te definiëren.  

Lijst van waarden

De optie list valid values is nu ook beschikbaar als onderdeel van een validate expressie. Hiermee kunnen deze controles als filter gebruikt worden, en gecombineerd worden met andere condities. 

Lengte van waarden

Er is nu ook de mogelijkheid gekomen om eigenschappen te controleren op lengte. Dit kan gebruikt worden voor bijvoorbeeld een naam of een omschrijving, die niet te lang mag zijn.

Gerelateerde elementen

Er kunnen gerelateerde elementen worden gespecifieerd. Dit gebeurt door een property definitie op te geven, die vastlegt hoe het gerelateerde element te vinden is. Vervolgens kan er op de gerelateerde elementen eisen worden gelegd. 

Hoofdlettergevoeligheid

Binnen IDS zijn alle waardes hoofdlettergevoelig. De modelchecker voor Pillr paste tot nu toe geen hoofdlettergevoeligheid toe. Nu kan per conditie aangegeven worden of deze hoofdlettergevoelig is of niet.

Meedenken of meer informatie?

We natuurlijk altijd benieuwd naar de feedback van onze gebruikers, en hoe we onze software voor hen kunnen verbeteren. Wil je hier over meedenken? Of wil je graag meer weten over het gebruik van IDS op Pillr? Neem contact met ons op.

Steve Alberts
Developer