PartDesign Fillet

Description
This tool creates fillets (rounds) on the selected edges of an object. A new separate Fillet entry (followed by a sequential number if there are already existing fillets in the document) is created in the project tree.

Usage

 * Select a single or multiple edges or a face on an object, then start the tool either by clicking its icon or going into the menu. In case you selected a face or a 3D object all its edges are respected for filleting.
 * In the appearing Task panel set the fillet radius either by entering the value, or by clicking on the up/down arrows.
 * If you want to add more edges or faces click the button and select edges and/or the faces.
 * After clicking the button you can add all edges of the object by right-clicking and selecting  from the context menu.
 * If you want to remove edges or faces
 * either select the edge/face in the list of the dialog and press the key. Note: Since there must be at least one edge for the feature, the last remaining edge or face in the list cannot be removed.
 * or click the button. All edges and faces being previously selected are highlighted in purple. Select the edge or the face to be removed.
 * Ensure the checkbox is unchecked or else some widgets in the dialog will be disabled.
 * Click to validate.
 * For a chain of edges tangential to one another, one single edge can be selected; the fillet will propagate along the chain.
 * To edit the fillet after the function has been validated, either double-click on the Fillet label in the Project tree, or right-click on it and select.

Known issues
Fillets cannot consume the whole adjacent face.

Fillets, chamfers, and other features that operate on solid bodies depend on the underlying OpenCASCADE Technology (OCCT) kernel that FreeCAD uses. The OCCT kernel occasionally has difficulty handling coincident sharp edges, where two faces meet. If this is the case FreeCAD may crash without an explanation.

If run from the terminal, FreeCAD may output a log like this one after the crash:

This output references functions located in, , etc., which are OCCT libraries. If this type of crashes occurs, the problem may need to be reported and solved in OCCT rather than in FreeCAD.

See the forum threads for more information:
 * Bug Chamfer bigger than 2mm crashes freecad
 * Segfault when using part design fillet

The user is also responsible for the integrity of his or her own model. Depending on the model, it may be impossible to perform a fillet or chamfer if the body is not big enough to support that operation. For example, it wouldn't be possible to create a 10 mm fillet if an edge is separated only 5 mm from the next surface. In that case, the maximum radius for a fillet would be 5 mm; trying to use a larger value may result in a shape that doesn't compute, or even a crash. If using the exact limit of 5 mm doesn't work, it may be possible to use a very close approximation, like 4.9999 mm, to produce the same visible result.

Topological naming
Edge numbers are not completely stable, therefore it is advisable that you finish the main design work of your solid body before applying features like fillets and chamfers, otherwise edges could change name and filleted edges would likely become invalid. When the property  is  there is some protection from this. Because in such cases all the edges of the base object are used and there is no dependence on individual edge names.

Read more in topological naming problem.

Scripting
The tool can be used in a macro, and, from the Python console using the following function:


 * 3 = radius
 * Box.Edges[2] = Edge with its number

Example: