Open SergejMuhic opened 1 year ago
@SergejMuhic I personally don't find this function all to meaningful. Has anyone ever encountered a 2d local pacement? Is that a relic of previously targetting paperspace definitions? I'd propose to just change local placement to always have a 3d axis placement. It's strictly speaking not schema-compatible but all usage has always been 3d https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Placement/Product_Local_Placement/content.html
When revisiting the rule I agree that in its current form it is not really helpful - the only combination it prevents is having a 3D placement with a parent 2D local placement. Theoretically possible by the schema, but not to likely.
So the two options are 1) remove it all together 2) a complete rewriting, also taking linear and grid placement into account and maybe other issues, like cyclic references, etc.
My vote goes for option 2. I'd be happy to help write / review the function.
I filed related issue #852
Most vendors use 2D placements in the vertical alignment curve segments, since it is basically a profile, not an actual curve.
My vote goes for option 2. I'd be happy to help write / review the function.
I would be happy to help to rewrite this this and all other EXPRESS functions in some commonly used language and make attempts to update standard -:)
(I do not think it is super hard task to make automatic EXPRESS-C compiler, for example)
documented here https://github.com/bSI-InfraRoom/IFC-Specification/issues/637