I think it makes sense to start thinking about an airfoil workbench:

https://github.com/looooo/freecad.airfoil

This currently provides methods to:

- import / export foils (.dat files)

- create parametric jukowsky / trefftz, vandevooren, naca airfoils

- create spline foils (2 splines with 9 poles for each side and tangential constraints at the leading edge) [1]

- modify splines (similar to the sketcher) [1]

- calibrate spline-foil given by points (calibrate y-positions and weights of poles. The x-position should be set manually if necessary)[2]

For the future, I will try to use libxfoil [3] to compute the forces acting at the foil. To interpolate the parameter-space (Ncrit, Ma, Re, alpha/cl -> cd, cm) I think about using a neural-network surrogate model.

Additionally, provide methods for drag-minimization (minimize drag for given input-parameters)

But it's still a long way to go, and some of you might disagree with some design limitations (like keeping the number of poles constant for a spline foil, using two splines for upper and lower side ...)

[1]
[2] https://forum.freecadweb.org/viewtopic. ... 10#p343926

[3] https://github.com/montagdude/libxfoil