bSI-InfraRoom / bSI-InfraRoom/IFC-Specification
IfcSegment and invalid rules
- Dominant language
- No language data
- Stars
- 27
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
Due to the new intermediate subtype IfcSegment, there are a couple of where rules and functions now invalid.
E.g
**SameDim**: Ensures, that all segments used in the curve have the same dimensionality.
SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0
^^^ ^^^ Dim not available
http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurve.htm
Surfs := IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1].ParentCurve);
^^^^^^^^^^^
http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGetBasisSurface.htm
The result of having to make these adaptations is a further deviation from p42 https://www.steptools.com/stds/stp_aim/html/t_get_basis_surface.html
Instead of introducing a novel intermediate class in one of the most used constructs. Did the team consider using direct inheritance:
**instead of:**

*the following:*

The only notable difference I can think of is the availability of the SameSense attribute on IfcCurveSegment, which can be redeclared as derived if it's undesirable to make that decision in the exchange.
It would eliminate the need to update the rules. Curious to hear your thoughts when you were debating this.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.