This is a parametric propellor model generator which can create propellors with multiple blades. It was written in OpenSCAD 2015 and uses coding that will not work in older versions. The script makes workable propellors but not necessarily the most beautiful ones. To beauty them up you may want to take the generated model into something like Blender and with a bit of loop bridging make some nicely merging shapes around the hub.
If you would prefer a folding prop, go here:Parametric Folding Propellor Generator
It (currently) has the NACA4412 airfoil as the blade profile. This produces a very thin blade which is getting into the realm of being a bit too bendy. After a bit of testing I may replace this with a thicker airfoil. If you want to use a different airfoil look for the line;
Airfoil_points = [[1000,1.3],[950,14.7],
... and replace it with your preferred airfoil. The base scale is 1000 units, so you will need to adjust your preferred airfoil to conform with this. I got the points for this airfoil from the airfoil archive http://m-selig.ae.illinois.edu/ads/archives/coord_seligFmt.tar.gz, and used the following file: http://m-selig.ae.illinois.edu/ads/coord/naca4412.dat.
I have created a Python3 based Airfoil .dat file to OpenSCAD conversion tool on my website. This will produce compatible OpenSCAD files from any .dat file you download from the UIUC Airfoil database. You can find it here: Airfoil .dat to OpenSCAD Conversion Tool
With regard to printing, you may find the trailing edge gets too fine to print so it may be truncated a little. You can see this happening in the photos where the last 0.5 – 1mm has been lost. I have not tried this on an FDM printer but feel that some sort of support will be required.
All parameters are mm unless otherwise stated. The exception is the blade diameter and pitch which you can fill out with either metric or imperial values. Refer to the diagrams and list below.
Here is a run down of the parameters used.
Pitch: Use PitchI for Imperial measurement, or PitchM for metric values.
Diameter: Use DiamI for Imperial measurement, or DiamM for metric values.
Number of blades: BladeNo
Blade Maximum Width (mm): MaxChdW
Statns: This is the number of stations along the blade where the size and twist is calculated. A higher number will improve the smoothness of the shape but add to the calculations. You may need to fiddle with this when dealing with larger diameter blades to counter the appearance of a gap that sometimes happens.
SectRes: The number of intermediate steps between stations. The higher the number the smoother the shape is but it adds significantly to the calculation time.
The pitch adjustment was originally introduced to de-rate the pitch angle so that my calculated pitch angles would match what I was measuring from a commercial propellor. As it turns out I must have been measuring the commercial propellor pitch poorly and I should have just run with my unadjusted pitch angles. So, leave these both set to 1.0. It is left here because it may be useful for adding washout to the propellor.
PitchAdjHub: Pitch adjustment factor at the hub end.
PitchAdjTip: Pitch adjustment factor at the hub end.
More Blade and Hub Parameters
BldCtr: This is the position of blade centreline about which the blade is scaled and twisted. It is expressed as a % of the distance along the blade chord measured from the leading edge.
PropShftD: Motor shaft size.
PropHubD: It is not really the hub diameter as such but more an expression of the clear area around the motor shaft.
PropHubDCutterMax: This is a bit of a dumb number. It refers to the imaginary outer diameter of a cylinder used to cut the back of the hub into a slope which will match your motor.
PropHubT: Propellor hub thickness
To cater for pinned hubs that appear to be used in small multirotors, the following parameters have been introduced to give an option for pinned hubs. If either or both of these parameters are set to zero the option is disabled. Refer to the diagram included in the images for a demonstration of these parameters in action.
HubPinD: The diameter of pins
HubPinPCD: The pitch circle diameter of the pins.
There are a number of other parameters but they are variables for use in the code. You are welcome to put numbers in them, but they will be overwritten anyway and have no effect. They are: