Surface Module

Introduction
The Surface Workbench introduced in FreeCAD 0.17 provides tools to create and modify surfaces. These tools have a similar functionality to the Part Shapebuilder tool when the Face from edges options is used. However, unlike that tool, the tools of the Surface Workbench are parametric and provide additional options. In this respect, the tools in this workbench are similar to PartDesign AdditiveLoft.

Some of the features provided are:
 * Creation of surfaces from boundary edges.
 * Alignment of the curvature from neighboring faces.
 * Constraining of surfaces to additional curves and vertices.
 * Extension of faces.
 * A mesh can be used as a template to create spline curves on its surface.



Use
The aim of the surface workbench is to create faces with shapes, which are not available with the standard tools in the other workbenches. The Open Cascade CAD-kernel gives as example a rounded corner of a rectangular box with different radii at the edges. Another example is shown here. It is the form of a plastic toy, created with the surface workbench.

The surface workbench generates usually nurb surfaces. The uses does not need to know much about nurbs(correct?). It is sufficient to have a closed border for a face, in order to create the surface. Options are available to further modify its shape.

The Surface workbench integrates with other workbenches of FreeCAD. The above example was created from sketches placed on  datum planes in the  PartDesign workbench. The design can be fully parametric, when all datum planes and sketches are defined accordingly.

The current state of FreeCAD (v0.17) does not allow to place the surfaces into a body of the PartDesign workbench. But the surfaces can be placed inside of a Part together with the body which holds all datum planes and sketches. The non parametric Part Shape builder must still be used in order to create a shell and a regular solid out of the set of surfaces.

Surface Tools

 * Filling.svg Filling...: fills a series of boundary curves with a surface. The surface can be modified by adding constraint curves and vertexes. The surface changes its shape so that the surface goes through the added constraint elements.
 * BSplineSurf.svg Fill boundary curves: creates a surface from two, three or four boundary edges. Three different filling modes are available: Stretch, Coons, Curved.

Additional Menu Tools
These tools are only found in the Surface menu.
 * Curve on mesh...: A selected mesh from the mesh workbench can serve as a template in order to create manually spline curves on it.
 * Extend face: Extrapolate the surface at the boundaries with its local u-parameter and v-parameter.

Limitations
The used surface code from the CAD-kernel OCCT is very fragile and can not handle wrong input properly. This can cause FreeCAD to crash. The following situations cause problems and may crash FreeCAD:
 * adding additional edges or wires as boundary to a surface, that would make up several faces. Add those edges only to Unbound Edges.
 * Using of boundary edges, that fails do build a closed boundary at parametric changes of the document.