The PredefinedType shall only be used...

My question: is it possible to check the following using IDS? I’ve tried for several hours but each IDS iteration either doesn’t work - it does’t find the error - or is ‘invalid’.

I’ve received an Ifc4 (ReferenceView_V1.2) which includes an IfcBeam with a predefined type ‘Beam’ and IfcBeamType with Predefinedtype ‘Beam’ also.

It is my understanding the IfcBeam PredefinedType shall only be used, if no IfcBeamType is assigned, providing it has its own IfcBeamType.PredefinedType.

I’m trying to write an IDS to evidence the Ifc is incorrect. Is it user error on my part or simply not possible?

(Source: 6.1.3.1 IfcBeam - IFC 4.3.2 Documentation)

Thanks.

From an IDS perspective, occurrences of IfcBeam get their type from IfcBeamType.PredefinedType when the IfcBeam has an IfcRelDefinedBy relationship with the IfcBeamType.

See discussion at [Documentation/entity-facet.md] PredefinedType as USERDEFINED and custom word in ObjectType · Issue #178 · buildingSMART/IDS

Also, IDS can’t check if IfcBeam has a IfcRelDefinedBy relationship with IfcBeamType.

See discussion at IDS checking IfcRelDefinedBy relationship between IfcObject and IfcTypeObject — OSArch

With that being said, I’m no expert with IDS so take this reply with a grain of salt.

In principle, the IDS is for checking the content of a valid IFC file. What you describe is invalid, and you can validate it with the Validation Service: https://validate.buildingsmart.org/. I think such duplicated predefined type should also be caught, but I’m not sure (CC: @Evandro). Perhaps some tools are forgiving and the occurrence value takes precedence over type.

@Simon you understanding is correct - as specified in the description of IfcBeam’s PredefinedType

The PredefinedType shall only be used, if no IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType .

And @artur_tomczak made the correct conclusion: IDS checking assumes that the IFC file is valid in first place - which seems not to be the case in your example. To confirm that, if you check the file you received using the Validation Service, you should get a non compliance error for rule OJT001

1 Like

Thank you all for your replies - very helpful.
@Evandro, I have checked the file published from Bentley Open Buildings Designer using the Validation service, and can confirm an error OJT001 - Object Predefined Type (amongst other errors: QTY001).

2 Likes