Skip to content

Uncategorized error due to IFCCartesianPointList3D #661

Description

@Surya7032

Hi Team,

I am working on a project to generate IFC4 files using Xbim Essentials (version: V5.1.259). While creating IfcCartesianPointList3D, I observed a validation error when validating the generated IFC file against the IFC4 schema.

For example, the generated entity looks like:
#123 = IFCCARTESIANPOINTLIST3D((...),$);

However, as per the IFC4 schema definition (https://validate.buildingsmart.org/report_schema/r771713286), the $ (TagList) argument is not expected in this context, leading to a validation error. We had previously raised this issue (#639) and the suggestion was to move to IFC4x3. While IFC4x3 resolves this issue, we still need to support IFC4 due to a large existing customer base, and transitioning all consumers to IFC4x3 will take time.

On further analysis, I went through the Xbim Essentials source code and found that the implementation of IfcCartesianPointList3D differs between IFC4 and IFC4x3 (https://github.com/xBimTeam/XbimEssentials/blob/master/Xbim.Ifc4/GeometricModelResource/IfcCartesianPointList3D.cs). Based on this, I implemented a fix by removing the optional TagList parameter in the IFC4 implementation, which resolves the validation issue. The proposed change is available here: https://github.com/xBimTeam/XbimEssentials/pull/659/changes.

Could you please review this approach and confirm if it aligns with the expected handling of IFC4 validation? Additionally, I would like your guidance on whether this change is suitable to be formally incorporated into the Xbim Essentials codebase.

Thanks and Regards,
Surya

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions