I think I’ve noticed an inconsistency between IfcOpenHouse and the IFC specification.
The specification states that “It is invalid to exchange a 'SurfaceModel', or 'Brep', or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcWallStandardCase”.
Both the east and west walls, in the IfcOpenHouse model, are IfcWallStandardCase objects that have a mapped representation as their body representation.
Am I missing something?
I can understand not being able to use a BRep model. However, I don't know why a mapped representation would be invalid; as long as the mapped target fits within the restrictions of IfcWallStandardCase.
Does anyone have any ideas?
Thanks,
Ian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good catch. It seems to be a new requirement in IFC4. I'm personally not a big fan of these textual requirements in a note somewhere in the documentation. Especially for things that could have been expressed more formally as well. I will correct it in the code generating IfcOpenHouse.
As for why such restrictions exist. Just guessing, mapped representation can come with a non-uniform scaling transformation, which maybe undesirable for walls. Maybe it makes it harder for the implementation to calculate wall connectivity or relate the axis representation to the body. These are just guesses, you might be able to find more in the implementation agreements [1] although this seems specific to IFC CV, or their jira [2].
Hello,
I think I’ve noticed an inconsistency between IfcOpenHouse and the IFC specification.
The specification states that “It is invalid to exchange a 'SurfaceModel', or 'Brep', or 'MappedRepresentation' representation for the 'Body' shape representation of an IfcWallStandardCase”.
Both the east and west walls, in the IfcOpenHouse model, are IfcWallStandardCase objects that have a mapped representation as their body representation.
Am I missing something?
I can understand not being able to use a BRep model. However, I don't know why a mapped representation would be invalid; as long as the mapped target fits within the restrictions of IfcWallStandardCase.
Does anyone have any ideas?
Thanks,
Ian
Hi Ian,
Good catch. It seems to be a new requirement in IFC4. I'm personally not a big fan of these textual requirements in a note somewhere in the documentation. Especially for things that could have been expressed more formally as well. I will correct it in the code generating IfcOpenHouse.
As for why such restrictions exist. Just guessing, mapped representation can come with a non-uniform scaling transformation, which maybe undesirable for walls. Maybe it makes it harder for the implementation to calculate wall connectivity or relate the axis representation to the body. These are just guesses, you might be able to find more in the implementation agreements [1] although this seems specific to IFC CV, or their jira [2].
[1] https://sourceforge.net/p/ifcopenshell/discussion/1782716/thread/f9b586ca/?limit=25#ab87
[2] http://jira.buildingsmart.org/secure/Dashboard.jspa
Kind regards,
Thomas
Thanks Thomas :)
Hi Ian,
Committed:
https://github.com/aothms/IfcOpenShell/commit/44ddc5e6dc3086852c1541b1a651576cf1f4abb8
Kind regards,
Thomas
Last edit: Anonymous 2015-10-12