Hello,
I need Your help.
During development, my program should understand IFC files exported by another CAD softwares.
Now I have found the following situation (copied only the relevant part).
#13597= IFCEXTRUDEDAREASOLID(#13593,#13596,#20,1.54);
(…)
#14443= IFCPOLYGONALFACESET(#14417,.T.,(#14393,#14395,#14397,#14399,#14409,#14411),$);
(…)
#14595= IFCSHAPEREPRESENTATION(#111,‘Body’,‘Tessellation’,(#13597,#14443));
As you can see, there is a Body Representation for an element, which has Tessellation type.
It has 2 items, one is a Polygonal Faceset, it is OK since it is in the “IfcTessellatedItem” group.
But the other one is a AreaExtrusion, which is not a Tessellation-like entity, but it belongs to the IfcSolidModel group.
The documentation for IfcShapeRepresentation has a Formal Proposition:
CorrectItemsForType: Checks the proper use of Items according to the RepresentationType .
It is worth noting that this whole representation is a Mapped thing:
#14598= IFCREPRESENTATIONMAP(#14597,#14595);
#14605= IFCMAPPEDITEM(#14598,#13514);
#14607= IFCSHAPEREPRESENTATION(#111,‘Body’,‘MappedRepresentation’,(#14605));
#14609= IFCPRODUCTDEFINITIONSHAPE($,$,(#14607));
In summary, the question again:
Should a Representation hold only matching items?
Thanks in advance