-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linear placement implementation uncertainty #15
Comments
@RickBrice this was communicated to bSI at submission of 4.3 RC4. They submitted without a fix. The Tunnel project and deployment with software vendors such as ESRI, Trimble, 12d etc. addressed, documented and implemented IfcLinearPlacement with these rules: This shall be accepted by bSI to the formal ISO documentation. These files: https://github.com/bSI-InfraRoom/IFC-Tunnel-Deployment/pulls are already mostly validated with this logic since the toolkit and checker are derived automatically from the schema and ifc spec (with usages referencing CTs). For As it says in the |
@SergejMuhic thank you - your input is always helpful and enlightening.
IfcPointByDistanceExpression doesn’t explicitly call out that default IfcAxis2PlacementLinear.Axis = (0,0,1), and I haven’t found it elsewhere in the specification. The closest thing I can find is
This says that “vertical” is perpendicular to the tangent of basis curve. For IfcGradientCurve and IfcSegmentedReferenceCurve the curve tangent is generally not parallel to the global XY plane and therefore perpendicular would not be (0,0,1). If “basis curve” is not IfcPointByDistanceExpression.BasisCurve but instead IfcPointByDistanceExpression.BasisCurve.BaseCurve for IfcGradientCurve or IfcPointByDistanceExpression.BasisCurve.BaseCurve.BaseCurve for IfcSegmentedReferenceCurve then IfcAxis2PlacementLinear.Axis defaulting to (0,0,1) makes sense. I would say the readers of the specification are not will served by such an obscure way of defining IfcAxis2PlacementLinear.Axis when it is omitted. An explicit statement in the definition of IfcAxis2PlacementLinear.Axis would be much more effective. Regarding default IfcAxis2PlacementLinear.RefDirection
Easy enough to understand and it makes sense it is different that its siblings. The basis curve provides an extra bit of geometry that the siblings don’t have. However, I think IfcSectionedSolidHorizontal doesn’t work with the default Axis and RefDirection as explained. When the IfcSectionedSolidHorizontal.CrossSections are defined with default Axis and RefDirections the orientation of the CrossSection isn’t correct to create an extrusion. Documentation error in IfcSectionedSolidHorizontal |
True. When modelling the definitions and writing the documentation I was under extreme time pressure where I was looking for acceptance first. I never finalized documentation, templates and usages unfortunately (I was the sole person doing this part). Before actually documenting it, there was an arbitrary decision to hand over and not finalize in the project. You are right, the default Axis is not (0,0,1) but perpendicular to the tangent, my bad. The default value is actually implied in the Axis description where it says that the default is the local z axis. To make it clearer it should say, local z axis as specified in the offsets of My initial intent was using
This actually was the initial intent but then Let me take a raincheck on the |
During our bsUSA BIM for Bridges meeting on July 17 someone mentioned that there was still some uncertainty about linear placement that is hampering implementation. I’m wondering what the issues are.
I think IfcLinearPlacement itself is pretty straightforward, especially since bSI has clarified PlacementRelTo. buildingSMART/ifc-gherkin-rules#124
I have some outstanding questions in the bSI implementers forum regarding IfcAxis2PlacementLinear. Perhaps some of the implementers in the group have some insights and can reinvigorate the issue discussions.
Default value for IfcAxis2PlacementLinear.Axis is not defined
buildingSMART/IFC4.x-IF#125
Are both or neither Axis and RefDirection required for IfcAxis2PlacementLinear
buildingSMART/IFC4.3.x-development#732
buildingSMART/IFC4.3.x-development#731
Documentation error in IfcSectionedSolidHorizontal
buildingSMART/IFC4.x-IF#147
The text was updated successfully, but these errors were encountered: