Surface CurveOnMesh

From FreeCAD Documentation
Jump to navigation Jump to search

Surface CurveOnMesh.svg Surface CurveOnMesh

Menu location
Surface → Curve on mesh
Default shortcut
Introduced in version
See also


Surface CurveOnMesh.svg Surface CurveOnMesh creates approximated spline segments on top of a selected mesh.

If the object is not a Mesh, but a parametric Shape or surface, it must be converted first to a mesh using Mesh FromPartShape.svg Mesh FromPartShape.

These edges created on top of the mesh may be further used to re-create the surface in a parametric way by using tools such as Surface GeomFillSurface.svg GeomFillSurface and Surface Sections.svg Sections.

Surface CurveOnMesh mesh example.png Surface CurveOnMesh example.png

Surface CurveOnMesh surface example.png

Above left: mesh object with selected points on the surface. Above right: splines created by picking several points on the mesh. Lower left: a parametric surface reconstructed from the approximated splines, using Surface Sections.


  1. Make sure you have a mesh object. This can be created by the Workbench Mesh.svg Mesh Workbench, or by importing a mesh file type, like STL, OBJ, or DAE. If a solid object or solid file type (STEP) is used, it can be converted to a mesh using Mesh FromPartShape.svg Mesh FromPartShape.
  2. Press Surface CurveOnMesh.svg Curve on mesh.
  3. Press Start.
  4. Using the mouse pointer, pick points on the surface of the mesh in the 3D view; pick as many points as necessary to draw a smooth preview line.
  5. When enough points have been added, right click on the 3D view to open the context menu, and select Create. Depending on how smooth the original mesh is, one spline or multiple splines will be created in the tree view.
  6. Repeat the sequence Start → Pick → Create, to add more approximated splines.
  7. The new spline will be created, and will appear in the tree view, immediately after choosing Create; the task panel will remain active.
  8. Press Close to close the task panel, and terminate the command completely.

After pressing Start, the context menu (right-click) in the 3D view shows various options beside Create.

  • Close wire: if at least three points have been picked, this option will be available to join the last point to the first point with a line.
  • Clear: it will erase the tentative points that have been picked on the mesh, and will allow you to pick new ones.
  • Cancel: it will erase the tentative points that have been picked, and will stop the picking operation. Press Start again to pick points once more.


(Editor: this information must be verified)

Wire section:

  • Snap tolerances to vertices: it defaults to 10 px; it indicates the minimum distance between one point and another when picking with the pointer.
  • Split threshold: it defaults to 45 deg; it indicates the angular deviation from one point in the mesh to another point necessary to create a new spline instead of extending the previous spline.

Spline approximation, if it is CheckBoxTrue.svg checked, it will create spline objects, otherwise, it will create simple straight line objects (polyline).

  • Tolerance to mesh: it defaults to 0.2. It is a parameter that takes into account the imperfections of the mesh; the smaller this number the more precise it will consider the mesh, particularly if it is a very fine mesh.
  • Continuity: it defaults to C2. It determines the continuity of the spline; it can be C0 (touching), C1 (tangent), C2 (curvature), and C3 (acceleration curvature).
  • Maximum curve degree: it defaults to 5. It determines the maximum degree of the spline to approximate the surface; it can be a value from 1 to 8.


If CheckBoxFalse.svg Spline approximation is unchecked, the Curve on mesh tool creates a basic Part Feature.

If CheckBoxTrue.svg Spline approximation is checked, the Curve on mesh tool creates a Part Spline.svg Part Spline (Part::Spline class) which is derived from the basic Part Feature (Part::Feature class), therefore it shares all the latter's properties.

In addition to the properties described in Part Feature, the Part Spline has the following properties in the property editor.



  • ViewControl Points (Bool): it defaults to false; if set to true, it will show an overlay with the control points of the surface.