Surface Filling

Description
creates a surface from a series of connected boundary edges. The surface can be further controlled by adding constraint edges, vertices and a support surface.

The base geometry can belong to 2D curves created with the Draft Workbench or the Sketcher Workbench, but can also belong to 3D solid objects such as those created with the Part Workbench or the PartDesign Workbench.



Usage

 * 1) Press the  button.
 * 2) The  task panel opens. See Options.
 * 3) Select two or more edges in the 3D view:
 * 4) * There is no need to press the button in the  section at this time.
 * 5) * For a 360° circular boundary two semicircular edges can be selected.
 * 6) A preview of the final shape will be shown if the selected geometry is valid.
 * 7) Optionally select a . See Example.
 * 8) Optionally select one or more.
 * 9) Optionally select one or more.
 * 10) Press  button.

Options

 * In the section a support surface and boundary edges can specified:
 * Press the button and select a face in the 3D view to add a support surface.
 * Click the Edit-cleartext.svg icon to remove the support surface.
 * Press button once to start selecting edges in the 3D view.
 * There are several ways to deselect edges:
 * Press the button once to start deselecting edges in the 3D view.
 * Select an edge in the list and press.
 * Right-click an edge in the list and select from the context menu.


 * In the section non-boundary edges can be specified to control the curvature of the surface:
 * The selection options are similar to those in the section.


 * In the  section non-boundary vertices can be specified to control the curvature of the surface:
 * The selection options are similar to those in the section.


 * Press or the  button to abort the operation.

Example
The acts as an additional constraint for the surface. The following example will give you an idea how it works:


 * 1) In the Workbench_Part.svg Part Workbench create a Part_Cylinder.svgder and set its  to.
 * 2) Switch to the Workbench_Surface.svg Surface Workbench and press the  button.
 * 3) Select the two semi-circular edges and the two straight edges that connect them.
 * 4) The result matches the four boundary edges, but the inner shape is quite different from the cylindrical face.
 * 5) Edit the Surface object and for the  select the cylindrical face.
 * 6) The modified shape matches the cylindrical face pretty well.

Limitations
The surface code from the internal OpenCASCADE modelling kernel is fragile, and cannot handle wrong input properly. The following situations may cause problems, and may crash the program, so they should be avoided:
 * Adding to that would result in several closed faces. In this case, those edges should be added as  to control the curvature only.
 * Using parametric (for example, ) that when recomputed fail to produce a closed boundary. That is, the edges to be used as  must always form a closed shape, even if their internal properties change.

Properties
A Surface Filling ( class) is derived from the basic Part Feature ( class, through the subclass), therefore it shares all the latter's properties.

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

Data

 * : boundary edges; C0 is required for edges without a corresponding face.
 * : order of constraint on boundary faces;, , and are possible.
 * : unbound constraint edges; C0 is required for edges without a corresponding face.
 * : order of constraint on unbound faces;, , and are possible.
 * : free constraint on a face.
 * : order of constraint on free faces.
 * : constraint points on surface.
 * : initial surface to use.
 * : starting degree, it defaults to.
 * : number of points on an edge for constraint.
 * : number of iterations, it defaults to.
 * : it defaults to.
 * : 2D tolerance, it defaults to.
 * : 3D tolerance, it defaults to.
 * : G1 tolerance, it defaults to.
 * : G2 tolerance, it defaults to.
 * : maximum curve degree, it defaults to.
 * : maximum number of segments, it defaults to.
 * : maximum curve degree, it defaults to.
 * : maximum number of segments, it defaults to.

View

 * : it defaults to ; if set to, it will show an overlay with the control points of the surface.

Scripting
FreeCAD Scripting Basics.

The Surface Filling tool can be used in macros and from the Python console by adding the object.
 * The edges to be used to define the surface must be assigned as a LinkSubList to the property of the object.
 * Auxiliary edges and vertices must be assigned as a LinkSubLists to the and  properties of the object.
 * All objects with edges need to be computed before they can be used as input for the properties of the Filling object.