buildingSMART Forums

Usage of IfcRepresentationMap::MappingOrigin.

Is there any restriction to use IfcRepresentationMap::MappingOrigin ? Now IfcAxis2Placement3D(origin (0,0,0),,) commonly used (all the buildingSMART examples use it) => Some downstream apps (CAD tools (even certified), viewers etc…) are unable to handle other than this.

In real BIM-projects observed whatever IfcAxis2Placment causing geometry interpretation errors. I would say, IfcRepresentationMap::MappingOrigin is duplicated with fcMappedItem::MappingTarget and thus redundant.

Couple of remarks:

  • I agree, mapped item is overly complicated, with two transformations, but I also see some use in them where with the first you can redefine an origin point (as part of the map) and the second matrix on the item then enables you to rotate around that point.

  • If you can share the file you that caused interpretation issues I think it’d very helpful. We have had several occasions on the forum where implementations were improved as a result of forum threads.

  • I think for IFC5 we need to decide for ourselves if we still want mapped items, or we only just allow representations to be shared directly. There are some cases where (nested) mapped items create efficient exchanges, but I’m personally not convinced it’s worth the added complexity and issues.

My biggest concern is that now some downstream applications (even certified ones) are unable to handle this correctly.


I have also noticed that all applications cannot handle “mappingorigin” correctly. But I think that “mappingorigin” is needed, or at least our software needs it. One use case is when user using block definitions from DWG to create IFC model. In DWG format there are concepts “Block definition” and “Block reference”, Block definition is same as IFC IfcRepresentationMap and Block reference is same as IFC IfcMappedItem. Block definition has basepoint property which is often 0,0,0 but not always and Block reference has insertion point property. So, mappingorigin is needed, here is one model where it has been used: iv-kone.ifc (1.2 MB)