Creating Surfaces with PowerFit

This task shows how to use PowerFit.

PowerFit is used to create:

  • an untrimmed surface supported by one cloud of points or one mesh and/or curves,
  • a surface supported or not by one cloud of points or one mesh and trimmed by an external boundary.

    Original mesh and boundary

     Untrimmed surface supported by the mesh

     Surface supported by the mesh and trimmed by the boundary

Open the PowerFit1.CATPart from the Sample directory.
This model consists of a mesh (Polygon) and a join (Join.2).
  1. Click PowerFit . The dialog box is displayed:

    This action is modal: the values used are re-displayed the next time you open this dialog box.

  2. Select the mesh and/or the curves to process,
    set the constraints and parameters, click Apply to preview the result,
    and OK to validate it. A Surface.x element is created in the specification tree.
    The segmentation display is erased.
    Below, you will find explanations on:

  1. Select the element(s) to be processed:

    • or curves,

      • The curves form either a closed set of curves or an open set of curves with only one hole in it.
        You can make the curves continuous either during their construction or using the clean contour action.
      • You can either select a whole clean contour from the specification tree, or by picking one of its vertex
        (the clean contour is highlighted), or pick curves (the curves are highlighted).
      • If one curve of the clean contour is linked to a face, the tangency continuity is not proposed
        if you pick the curve. It is proposed if you pick the clean contour.
      • Those input curves are not modified and are sent to the NoShow space. 
      • If a trimmed surface is created, the edges of the face will be the curves computed from the input curves. 

      Closed set of curves


      Open set of curves with its topological closing line
      (no curve is created as such, but as the edge of the trimmed surface, if any)


      Open set of curves






      This type of open set of curves is not accepted:


    • or both.

  1. Select the Init Surface check box if you want to use one.
    If you select an init surface, its name is displayed in the field Init Surface.

    • The init surface helps improve the result surface, especially in rounded areas.

    • You can either select it yourself or let the application compute it in the direction
      of the largest curve.

    • The init surface must be larger than the domain to process.

  1. Type a Tolerance i.e. the mean maximum deviation between the surface created and the cloud of points
    or mesh, i.e. the deviation may be higher at some places. This field is editable.

  2. Choose the way the input curves are taken into account:

    • as Constraint: the computed surface will go through them,

    • Trim: the surface is computed, then the curves are projected onto it to trim it.

    • or Selection: the computation is based on the points located inside the curves.

    Continuity may be requested on the input curves regarding the surface to create:
    • G-1: free. Applies to the Trim or the Selection options. 
    • G0: point continuity. Applies to the Constraint option.
    • G1: tangent continuity. Applies to the Constraint option.

    By default, the continuity requested in the Join action are proposed by the PowerFit action. 

    You can change them by simply clicking the text or using the contextual menu.

  • You may want to select a join.
    If this join contains a sliced surface edge, or a split CleanContour that contains a sliced surface edge,
    with a tangency constraint that you want to keep, pick the curves one by one, graphically,
    i.e. do not select a join by picking one vertex, nor select the elements in the specification tree.

In short: Input Information Output
Points or meshs   The surface is computed on the points.
It is not trimmed.
Miscellaneous curves No outer boundary.
No points.
This case is not dealt with.
Miscellaneous curves + points No outer boundary.
This case is not dealt with.


Curves (Outer boundary).
No points.
Option: Constraint
Possible constraints: G0, G1.
The surface is computed on the curves.
The curves become the edges of the surface.

Curves + points Option: Selection
Possible constraint: G-1
The surface is computed on the points located inside the curves.
The surface is not trimmed.
Option: Trim 
Possible constraint: G-1
The surface is computed on the points.
The curves are then projected on the surface to trim it. 
Option: Constraint
Possible constraints: G0 or G1
The surface is computed on the points and the curves.
The curves become the edges of the surface.
  1. Type the Order and  Segments:

    • These parameters apply globally to the surface computed.
      They are maximum values.
      The actual values are computed automatically by the action.
    • PowerFit creates a NURBS surface, controlled by the tolerance (i.e. Tolerance),
      the number of segments and their order.
      Whenever possible, this surface consists of one single segment,
      otherwise, it is made of several segments.
      This surface may then be trimmed by the curves.

    • You can increase the order of the segments, thus reducing their number, or vice-versa. 
    • If the number of segments is x, this means that the surface computed will consist of a
      maximum of x segments, or less.
      The default number of segments is 64, the maximum number is 2048. 
    • If the order of segments is y, this means that each segment will have a maximum number
      of y control points in each direction, or less. The segment order may vary from 3 to 15.
    • Increasing the order of the segments may result in an oscillating surface,
      even if this is not visible.
    • Click Show Information and select the Segmentation check box to display
      the segmentation of the computed surface.
  1. If necessary, enter Advanced parameters:

    You may want to impose an order and a number of segments in both U and V direction.
    To do so, select the Advanced check box. The Order and Segments fields above are no longer available.
    You can edit the fields below to:
    • type the number of segments in each direction,
    • type the order of segments in each direction,
    • swap the values in U and V.

    Click Apply to restart the computation.

  1. Type Gap: G0, i.e. the distance between the surface and the boundary curves.
    Since there is more noise on points than on curves, the Tolerance may be higher than the GO Gap.
    The default value is 1.

  2. Type Gap: G1,  i.e. the tangency tolerance between two contiguous surfaces (in blue below).
    The default value is 0.5.

  3. Type the Tension:
    Possible values are between 0 and 4.
    Use a higher value to have a smoother (but less tense) surface.

Please note that since the shape is constrained by the points, the effect of this parameter is limited. 
  1. Select the Radius check box: when the cloud of points is noisy, it is difficult to have the surface going through
    all the points and the curves (risk of undulations).
    The points inside a circular pipe centered on the curve are deleted,
    and you may want to set the radius of that pipe.

    When you select this check box, a blue sphere is displayed on the extremity of the first curve,
    representing this radius (if you have selected at least one curve and a cloud of points or a mesh).


    If two curves are not distant enough, all the points between them may be deleted,
    making the computation of the surface impossible.


  1. Click Show information to select the required check boxs and display statistics.

  2. Select the Spikes check box to display the deviations.

  3. Select the Segmentation check box to display 

    • the segmentation on the surfaces computed,

    • the number of segments and order in U,

    • the number of segments and order in V.

  4. Use the Deviation field to type the value above which the deviation spikes will be displayed.
    When you first enter the action, the Deviation value is the same as the Tolerance.
    Once a surface has been computed, the Deviation value is the computed one.

    You must first click Apply to compute the surface and to display the deviation spikes.
  1. You can use one or more edges of an existing surface to compute a new surface with PowerFit.
    Select the Connect Checker check box to display the connection analysis between the existing surface and
    the new surface.

    The Connect Checker is not available on surface edges that have been previously sliced.
    • You must first click Apply to compute the surface and to display the connection analysis.
    • Click OK or Cancel to exit the Quick Violation Analysis and return to the PowerFit dialog box .
    • Click Full to display more analysis check boxs.
    • More information is available in the Connect Selecter section.
  1. Information on the points for the parameters taken into account by the computation are available in
    the box at the bottom of the dialog box (no dynamic display):

    • the maximum deviation found between the points of the cloud and the surface,
    • the mean deviation found between the points of the cloud and the surface.
      This deviation should be as small as possible.
    • the standard deviation, i.e. the dispersion of the points around the mean deviation.
      A small standard deviation indicates that most points are within the mean deviation,
      i.e. that there are only few outliers.
    • the percentage of points of the cloud that are below the mean deviation.

Counterdraft detection

  • Generally, when a counterdraft or opposite points are detected, a message is displayed in the dialog box,
    and no surface is computed. You can solve the problem by activating a portion of the cloud of points
    and restarting the computation.
  • When PowerFit is used to compute a trimmed surface from the points of a cloud of points
    and curves that form the surface boundaries, these curves define a prismatic trap with infinite height
    and a view direction. The points used for the computation are all the points contained in this trap.
    Therefore, counterdraft or opposite points may alter the computation.
    Opposite points:
    PowerFit can select the required points up to a certain level:
    • The points are separated into two zones, according to the direction of the normal of the triangles.
      This selection is easy in the above cases
      (the equator line is the separation between the two zones for the counterdraft, for the opposite points, the zones are already well delimited). The incorrect zone is not taken into account in the computation.
    • The selection is harder in such cases:
      According to the normal of their triangles, the points belong to two zones,
      shown in black and in yellow in our example.
      The points surrounded in black form one zone,
      the points surrounded in yellow form another zone,
      both zones contain points that should not be taken into account.
      Such cases are not yet dealt with successfully.
    • In short, the points that PowerFit recognizes as unwanted for the computation are correctly eliminated.
      However, some points may still be taken into account, whereas they should not.
      This may lead to a defective result.
      In such cases, you should activate yourself the requested zone, with the Activation command.

  • This is possible with meshes, not with cloud of points.
  • All triangles considered belong to the same mesh and their orientation is coherent.