buildingSMART Forums

Property Sets for IfcContext / IfcProject in IFC4


Since this is my first post in this forum I would like to use the opportunity to do a very quick introduction first: I am part of the IFC4precast project group which is working on a new MVD based on IFC4 to handle primarily the data exchange between precast CAD and precast MES software. Some of the more active members of this forum probably know our group very well. In the last weeks we have started to use IfcDoc for documentation of our MVD. As somone new to the details of IFC this raised and still raises a few questions, so please bear with me. Onto the question:

We want to add a custom Property set to the IfcProject entity. Some time ago Sergej Muhic assisted us in the creation of the MVD and added the “Property Sets for Objects” concept to the IfcProject entity.
When trying to recreate this using IfcDoc I noticed that the tool will not allow this concept to be applied. After some research it makes perfect sense: IfcProject used to be a subtype of IfcObject, it even had a Pset_ProjectCommon. Now in IFC4 Project is a subtype of IfcContext, so the very fundamental concept of “Property Sets for Objects” no longer applies. The ProjectCommon-Pset has also been removed, it seems.

Is such a scenario still supported? If yes, how should we best go about this? As a workaround I created our own “Property Sets for Context” concept.

On a sidenote: It is technically possible to add a property set to IfcProject in IfcDoc when using the “Property…” button in the query window. But I believe this to be an error since the created query does not match an IFC4 project type definition.

Thank you for your input!

Sounds like a bug in IfcDoc to me, if you refer to the definition here:

Check the attributes inherited and IfcContext lists IsDefinedBy

Will have to review the IfcDoc code and see why it’s not appearing.

I don’t think it’s a software bug but rather an inconsistency in IFC4.
You are right that IsDefinedBy is listed in IfcContext, so it’s clear that PSets for Contexts are a supported scenario.
However IfcRelDefinesByProperties links to an IfcObjectDefinition in IFC4:
See IFC4/Add2/html/schema/ifckernel/lexical/ifcreldefinesbyproperties.htm (can’t include links, sorry)

But the concept Property Sets for Objects (which uses IfcRelDefinesByProperties) still links to IfcObject:
See IFC4/Add2/html/schema/templates/property-sets-for-objects.htm

If I change the Property Sets for Objects concept in IfcDoc to link to ObjectDefinition instead of Object I can use it just fine with a project / context.

In other words:
I would suggest to change the Property Sets for Objects concept to be a more generic “Property Sets for ObjectDefinition” concept.

1 Like

This would not be the correct approach as IfcObjectDefinition does not have this possibility i.e. does not have the inverse attribute IsDefinedBy. It would be better if we introduced an official “Project Properties” concept template to the official specification.

You are right, thank you.
In the meantime, I will define our own concept template in the IFC4precast MVD which resembles this concept.