IfcCurveDim

BACnet MVD

#### IfcCurveDim

Natural language names

| Curve Dim

##### Semantic definitions at the function

Function Definition

> NOTE Definition according to ISO/CD 10303-42:1992
> This function checks the dimensionality of various subtypes of curve. It returns the dimensionality of the basic points and directions used at the instance of curve.

> NOTE This specification allows for mixed dimensionality within the same geometric representation context.

> HISTORY New function in IFC2x

##### Formal representations

EXPRESS Specification
`

FUNCTION IfcCurveDim
(Curve : IfcCurve)
: IfcDimensionCount;
IF ('IFCGEOMETRYRESOURCE.IfcLine' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcLine.Pnt.Dim);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcConic' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcConic.Position.Dim);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcPolyline' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcPolyline.Points[1].Dim);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcTrimmedCurve' IN TYPEOF(Curve))
THEN RETURN(IfcCurveDim(Curve\IfcTrimmedCurve.BasisCurve));
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcCompositeCurve' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcCompositeCurve.Segments[1].Dim);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcBSplineCurve' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcBSplineCurve.ControlPointsList[1].Dim);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcOffsetCurve2D' IN TYPEOF(Curve))
THEN RETURN(2);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcOffsetCurve3D' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFCGEOMETRYRESOURCE.IfcPcurve' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4.IfcIndexedPolyCurve' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcIndexedPolyCurve.Points.Dim);
END_IF;
RETURN (?);
END_FUNCTION;

`

Link to this page