A utility for creating 3D-printable templates for shaping rudders, daggerboards and other sailboat foils
This utility generates flat-sided 2-dimensional foil sections for applications in sailboats, and 3D-printable templates for accurately shaping the corresponding foils.
As an example, here are a pair of Leading Edge/Trailing Edge templates, laid for illustration on a foil constructed using different templates by a different builder.

There are two versions of this utility:
-
A version based on a study by Saporito et al. (2020). To run this utility in the cloud on Binder, click this button,
then select
Run All Cellsunder theRunmenu.The Jupyter notebook implementing this version is in this repository at this link.
-
A version based on a study by Pollock (1987) which is cited by Australian boat designer Michael Storer as being efficient and suited for construction by amatuer home-builders.
To run this utility in the cloud on Binder, click this button,
then select
Run All Cellsunder theRunmenu.The Jupyter notebook implementing this version is in this repository at this link.
After some initialization output, the notebook will present textboxes in which foil parameters can be entered. Clicking a button then generates a 3D-printable template file, ready for download.
Note: Binder must build the environment for each Jupyter notebook that it runs; it then keeps that environment in the stack until it is displaced by other environments. This means that the first time this utility is launched in Binder, there will be a delay while the environment is built. Launching will be faster afterwards, as long as the environment is reused frequently enough to prevent its being displaced.
The purpose of this utility is to enable the user to recreate or closely approximate the foil dimensions specified by a designer of home-built boats, and to generate corresponding templates in the form of 3D-printable files. The utility performs the following steps:
- Generates:
- a half-foil shape in the
$XY$ plane, representing the top half of a symmetrical foil, according to user-specified parameters. - a template shape, in which half-foil is represented as cut-out from the bottom of a rectangular block.
- a half-foil shape in the
- Plots the half-foil and template shapes, and saves them in a 2D CAD format called DXF.
- Generates a 3D solid by extruding the template shape in the
$Z$ direction, and saves it in a 3D format called STL that can be directly printed on most 3D printers.
This utility is based on studies of lift and drag on flat-sided foils by Pollock (1987) and Saporito et al. (2020). These authors used computational fluid dynamics to calculate the foil shapes with the optimal lift and drag coefficients, from among families of foil shapes in which the leading and trailing edge shapes are defined by polynomials or NURBS's.
-
The foil shapes suggested by Pollock (1987) are used in designs by Michael Storer, and found to be successful in numerous home-built boats.
-
The foil shapes suggested by Saporito et al. (2020) come from a later study with more refined calculations, but are untried as far as I know for use in home-built sailboats.
The utility is implemented in Python code, and presented in a format called a Jupyter notebook. The utility runs in the cloud on Binder, which is a free online server for Jupyter notebooks.
Note: Binder must build the environment for each Jupyter notebook that it runs; it then keeps that environment in the stack until it is displaced by other environments. This means that the first time this utility is launched in Binder, there will be a delay while the environment is built. Launching will be faster afterwards, as long as the environment is reused frequently enough to prevent its being displaced.
The utility can also be downloaded from this repository (using git) and the environment built locally (using miniconda, mamba or equivalent), to run on a user's computer.