IfcGrid spatial composition and relative placements

IfcLocalPlacement documented here states that:

For IfcGrid and IfcAnnotation the convention applies that it shall be placed relative

There is also the implementation agreement here which states:

The spatial containment of IfcSpatialStructureElement forms a tree, and the local relative placement of IfcSpatialStructureElement forms another tree - both trees should be identical (i.e. if an IfcBuildingStorey is contained in #201=IFCBUILDING, then the IfcBuildingStorey.ObjectPlacement.PlacementRelTo shall point to the same instance #201=IFCBUILDING.

Here is a sample composition tree:

  • IfcProject
    • (IfcRelAggregates) IfcSite
      • (IfcRelContainedInSpatialStructure) IfcGrid
      • (IfcRelAggregates) IfcBuilding
        • (IfcRelAggregates) IfcBuildingStorey
          • (IfcRelContainedInSpatialStructure) IfcWall

Can I confirm with others here that the IfcWall is allowed to have an IfcGridPlacement, but the IfcBuilding is not allowed to have an IfcGridPlacement? (It must have an IfcLocalPlacement relative to the IfcSite’s placement as per the implementation agreement)

If so, it strikes me as odd that the origin of the building, which is often a grid intersection, cannot have an IfcGridPlacement.

Are you referring to these two? None of them specifically say that only IfcLocalPlacement is allowed. :slight_smile:

Joke aside, you have a point. This should be clarified. I could not find any restrictions in the EXPRESS schema. The implementer quote is more specific, so, I guess the ISG has a more fleshed out view on this.

Sorry for bumping this thread, but I am running into this issue again.

Re-reading this 2 years later, I think this is actually not an issue. The key phrase is:

The following conventions shall apply as default relative positions if the relative placement is used.

So, if we choose not to use a relative placement, the implementer agreement doesn’t apply.