IfcGUID niet langer read-only

19 maart 2019 door Wilco Kelder

What’s new
Vanaf Revit 2019.2 heeft Autodesk de IfcGUID parameter writable gemaakt waar deze in voorgaande versies nog read-only was. De IFC-exporter maakt de IfcGUID parameter aan en vult deze in indien de optie ‘store GUID’ is aangevinkt. De waarde van deze parameter is een GUID (Globally Unique Identifier) van 22 karakters, die de IFC-exporter genereert.

Verleden
De keuze om de IfcGUID parameter in eerste instantie read-only te maken was een logische. Je wilt deze namelijk niet handmatig kunnen beïnvloeden, toch? Deze GUID zorgt ervoor dat een object in een IFC-model uniek is. Waar zat dan precies het probleem? Als er met de ‘Store GUID’ optie al een keer een IFC-export van het model was gemaakt, was er voor deze geëxporteerde objecten een IfcGUID parameter aangemaakt en was de waarde ingevuld door de exporter. Als deze objecten na de export werden gekopieerd in het model bleef de parameter bij dit object bewaard, maar werd deze leeg. Logisch, want het object was nog niet naar IFC geëxporteerd en had dus nog geen eigen IfcGUID. Maar wanneer er een nieuwe export werd gedraaid kon de exporter de gegenereerde GUID niet meer invullen, omdat de parameter IfcGUID read-only was.

Update
Vanaf Revit 2019.2 heeft Autodesk dit probleem opgelost. De IfcGUID parameter is nu writable gemaakt. Vanaf nu kan de exporter deze parameter dus ook voor gekopieerde objecten invullen bij een export naar IFC. Dit geeft ons de mogelijkheid de waarde van IfcGUID voor alle objecten te mappen naar een CustomPropertySet (CPset). Maar let op – de GUID wordt pas in de parameter ingevuld bij de eerste export na het creëren van het object. Om deze in een CPset te krijgen dient na deze eerste export dus nogmaals een export gedraaid te worden, zodat de waarde door middel van een mapping in de CPset terechtkomt.

Pas op!
Door de parameter writable te maken heeft Autodesk het probleem van de IfcGUID in een CPset grotendeels opgelost. Maar er ontstaat ook een groot gevaar waarop we je willen wijzen. De parameter kan niet alleen door de exporter worden overschreven, maar kan ook handmatig (bewust of onbewust) worden aangepast. Hierdoor kan er een verschil ontstaan tussen de GUID in het tabblad Identification en de gemapte variant in de CPset. Onderstaand een aantal voorbeelden ter verduidelijking.

  1. Waar vind ik de GUID van een object in een IFC-model terug als ik de waarde map naar een CPset? – Antwoord: de GUID van een object wordt altijd in het tabblad Identification weergegeven. Door middel van een mapping kan de GUID ook in een CPset (in dit geval ‘ILS’) worden weergegeven. In de ITO is te zien dat de waarde één-op-één overeenkomt met de GUID in het tabblad Identification.

  2. Wat doet de exporter bij het handmatig overschrijven van één element– Antwoord: bij het handmatig overschrijven van één GUID in het model zal de GUID in zowel het tabblad Identification als de CPset ‘ILS’ worden overschreven.

  3. Wat doet de exporter bij het handmatig overschrijven van meer dan één element– Antwoord: bij het handmatig overschrijven van meer dan één GUID in het model zal, zolang de overschreven waarde overeenkomt, de GUID met de eerst gewijzigde waarde aangepast worden naar de overschreven variant in zowel het tabblad Identification als de CPset. De exporter ziet vervolgens dat de handmatig overschreven waarde niet uniek is en gaat automatisch een nieuwe tijdelijke GUID genereren voor de andere objecten. Nu gaat er een verschil ontstaan tussen de GUID in het tabblad Identification en de GUID in de CPset, aangezien de gemapte waarde van de parameter IfcGUID in Revit gelijk blijft.

  4. Hoe kan ik voorkomen dat er foutief handmatig GUIDs worden overschreven? – Antwoord: door voorafgaand aan een export naar IFC alle waarden van de parameter IfcGUID leeg te maken, wordt voor de exporter de mogelijkheid gecreëerd om opnieuw de unieke waarde in te vullen in dit veld. Merk in dit geval op dat de originele GUIDs weer worden ingevuld in zowel het tabblad Identification als de CPset. De vraag wat er gebeurt als de waarde in het model per ongeluk verwijderd wordt is hiermee ook gelijk beantwoord. Let er wel op dat er nog een tweede export gedraaid moet worden om de waarden ook daadwerkelijk weer in de CPset terecht te laten komen.

 

Voor dit artikel is gebruik gemaakt van de Revit (v. 19.2.10.7) en de IFC-exporter (v. 19.1.2.0).

Vragen na het lezen van dit artikel? Neem gerust contact met mij op!



Deel dit artikel:

Meer weten? Neem contact op met:

Ik ben een enthousiaste en gedreven bouwkundige met een passie voor BIM-engineering en integrale werkprocessen. Root geeft me hier het platform voor, door mij te laten werken aan hoogstaande BIM-data-modellen. Hierbij ligt de focus op openBIM-processen door het gebruik van IFC volgens de BIM basis ILS en de RVB BIM-norm. De vraag beantwoorden die u […]