Approximating/Segmenting Procedural Curves

This task shows you how to convert any curve, created using other products but FreeStyle, into a NUPBS (Non Uniform Polynomial B-Spline) curve, and to modify the number of arcs (segments) onto any curve, including these created using FreeStyle products.
This approximation is automatically performed when you try to edit a curve using control points. In this case:
  • when the exact conversion can be performed, it is done automatically, and the Converter Wizard is not displayed. This is the often the case with splines and lines.
  • when the exact conversion cannot be performed, as for ellipses, hyperbolas, parabolas, and so forth, the converter Wizard is displayed allowing you to define the approximation tolerance.

Open the Approximate1.CATPart document.

  1. Select the curve to be approximated.

  1. Click the Converter Wizard icon:


The Converter Wizard dialog box is displayed allowing you to define the approximation according to a tolerance.


You need to set the values for the different options:

  • Tolerance: that is the deviation tolerance from the initial curve. 
    On the geometry, a red text is displayed if the tolerance is not respected, that changes to green when the new element is within the specified tolerance.

  • Orders: that is the maximum allowed order along the U direction for each curve segment.
    This value must be greater than or equal to 2 along U, when the segmentation options are grayed (one segment only). Otherwise, it must be greater than 4 included (when there are several segments).
    The maximum value allowed per segment is defined by the Max order field in the FreeStyle Settings and must be less than or equal to 16. In P1 mode, the Max order is set to 16 and cannot be modified.

  • Segmentation:  that is the maximum allowed segments along the U direction.
    If Single is checked, a mono-segment curve  is created.

When one of these options is inactive, the system automatically optimizes this option's parameters to comply with the other options' values.


Furthermore, two buttons offer other capabilities:

  • 3D conversion: to convert a curve on surface into a 3D curve.

  • 2D conversion: to retain the 2D of a curve on surface.

Depending on the type of the initial element, a text is displayed indicating what approximation needs to be performed:

  • CV: the initial curve is not a NUPBS and needs to be approximated using the Converter Wizard parameters.

  • EXACT: the initial curve can be converted in exact mode (no parameter needs to be set).

  • Seg: the initial curve already is a NUPBS.

Provided the Continuity icon is active from the Dashboard, and at least one conversion option is active (Tolerance, Orders, or Segmentation, i.e. you are not in exact conversion mode), a continuity constraint can be imposed identically on both curve end points.
Two continuity types are available: tangent or curvature continuity. By default, it is tangent, and you can change it either by using the contextual menu or by clicking the text in the geometry.

  1. Click the More button to display more options:

  • Check the Information option to display further information on the element:

    • Max: the maximum deviation in relation to the initial element.

    • N: number of control points.

    • o: the curve order.

    • s: the number of segments in the curve.

  • Check the Control Points option to display the curve's control points.

  • Check the Auto Apply button to dynamically update the resulting curve.

Furthermore, the maximum deviation, minimum and maximum radius values are displayed in the Converter Wizard for information.

  1. Click OK.


The curve modification is taken into account.

  • Multi-selection of curves is available. 

  • You can mix the approximation of curves and surfaces.

  • The Priority check button indicates which of the Orders or Segmentation parameter is taking precedence over the other one. 

  • Use the Exact conversion mode (no parameter needs to be set) on a NUPBS element to display the number of control points, curve order, and number of segments in the curve.
    Note that in this case, the initial element is duplicated.

To convert a multi-cells curve, select it from the specification tree. If selected in the geometry, you might be selecting only one cell instead of the whole curve.

Available capabilities from the Dashboard, and/or specified through the FreeStyle Settings, are:

  • datum creation

  • keep original (depending on the selected element)

  • continuity

  • furtive display.