diff --git a/IFC4x3/Sections/Core data schemas/Schemas/IfcProductExtension/Functions/IfcAlignmentRepresentation/Expression.txt b/IFC4x3/Sections/Core data schemas/Schemas/IfcProductExtension/Functions/IfcAlignmentRepresentation/Expression.txt index e6b5d5434..130ebd296 100644 --- a/IFC4x3/Sections/Core data schemas/Schemas/IfcProductExtension/Functions/IfcAlignmentRepresentation/Expression.txt +++ b/IFC4x3/Sections/Core data schemas/Schemas/IfcProductExtension/Functions/IfcAlignmentRepresentation/Expression.txt @@ -4,8 +4,8 @@ AlignmentRepresentations : SET OF IfcShapeRepresentation; TwoDRep : SET OF IfcShapeRepresentation; ThreeDRep : SET OF IfcShapeRepresentation; - CurveTwoD : IfcCompositeCurve; - CurveThreeD : IfcGradientCurve; + CurveTwoD : SET OF IfcCompositeCurve; + CurveThreeD : SET OF IfcGradientCurve; END_LOCAL; (* no representation is okay *) @@ -53,7 +53,7 @@ ThreeDRep := QUERY(threeDee <* AlignmentRepresentations | threeDee.RepresentationType = 'Curve3D'); CurveThreeD := QUERY(item <* ThreeDRep[1].Items | 'IFCGEOMETRYRESOURCE.IFCGRADIENTCURVE' in TYPEOF(item)); - RETURN((SIZEOF(CurveThreeD) = 1) AND (SIZEOF(CurveTwoD) = 1) AND (CurveThreeD\IfcGradientCurve.BaseCurve :=: CurveTwoD)); + RETURN((SIZEOF(CurveThreeD) = 1) AND (SIZEOF(CurveTwoD) = 1) AND (CurveThreeD[1].BaseCurve :=: CurveTwoD[1])); END_IF; (* Missing an IFCSEGMENTEDREFERENCECURVE various placement option implementation. *)