IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.9.6.8 IfcCurveDim

8.9.6.8.1 Semantic definition

{ .extDef}

8.9.6.8.2 Formal representation

FUNCTION IfcCurveDim
(Curve : IfcCurve)
: IfcDimensionCount;
IF ('IFC4X4_DEV_20260525.IFCLINE' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcLine.Pnt.Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCCONIC' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcConic.Position.Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCPOLYLINE' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcPolyline.Points[1].Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCTRIMMEDCURVE' IN TYPEOF(Curve))
THEN RETURN(IfcCurveDim(Curve\IfcTrimmedCurve.BasisCurve));
END_IF;
IF ('IFC4X4_DEV_20260525.IFCGRADIENTCURVE' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCSEGMENTEDREFERENCECURVE' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCCOMPOSITECURVE' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcCompositeCurve.Segments[1].Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCBSPLINECURVE' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcBSplineCurve.ControlPointsList[1].Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCOFFSETCURVE2D' IN TYPEOF(Curve))
THEN RETURN(2);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCOFFSETCURVE3D' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCOFFSETCURVEBYDISTANCES' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCCURVESEGMENT2D' IN TYPEOF(Curve))
THEN RETURN(2);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCPOLYNOMIALCURVE' IN TYPEOF(Curve)) THEN
IF ( NOT EXISTS(Curve\IfcPolynomialCurve.CoefficientsZ) AND (Curve\IfcPolynomialCurve.Position.Dim = 2 ))
THEN RETURN(2);
END_IF;
RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCPCURVE' IN TYPEOF(Curve))
THEN RETURN(3);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCINDEXEDPOLYCURVE' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcIndexedPolyCurve.Points.Dim);
END_IF;
IF ('IFC4X4_DEV_20260525.IFCSPIRAL' IN TYPEOF(Curve))
THEN RETURN(Curve\IfcSpiral.Position.Dim);
END_IF;
RETURN (?);
END_FUNCTION;

8.9.6.8.3 References

Edit on Github

3 contributor(s): ArturTomczakDion MoultbSI-Bot
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!

8.9.6.8.4 Changelog

8.9.6.8.4.1 IFC4

  • ,

8.9.6.8.4.2 IFC4.1

  • ,

8.9.6.8.4.3 IFC4.3_ADD2

  • ,