The Ultimate Toroidal Propeller Generator is an open source project that provides a way to generate STL files of toroidal drone propellers.
Multi-blade | Safe blades intersections | Attack angle | Customizable hub |
You can create propellers with as many blades as you want | Each blade prevents getting into another one and you can customize what to do when it happens | Specify the attack angle blade that you need in a simple way | Customize that specal hub you want to design |
The Ultimate Toroidal Propeller Generator is meant to be used by anyone and it's not neccessary to code, BUT you have to touch some values that are in the code. Don't worry, it's easy and very strightforward. Let's start!
Fist of all you have to download several things:
Let's start by opening the file example.scad
with OpenSCAD.
You will see some code but we only are interested in the parameters inside the toroidal definition. Let's change some of them:
This defines a propeller:
$fn = 100; // how polligonall you want the model
toroidal_propeller(
blades = 3, // number of blades | Default(3)
height = 6, // height | Default(6)
blade_length = 68, // blade length | Default(68)
blade_width = 42, // blade width | Default(42)
blade_thickness = 4, // blade thickness | Default(4)
blade_hole_offset = 1.4, // blade hole offset | Default(1.4)
blade_attack_angle = 35, // blade attack angle | Default(35)
blade_offset = -6, // blade distance from propeller axis | Default(-6)
blade_safe_direction = "PREV", // indicates if a blade must delete itself from getting into the previous (PREV) or the next blade (NEXT) | Default("PREV")
hub_height = 6, // Hub height | Default(6)
hub_d = 16, // hub diameter | Default(16)
hub_screw_d = 5.5, // hub screw diameter | Default(5.5)
hub_notch_height = 0, // height for the notch | Default(0 = [No support])
hub_notch_d = 0 // diameter for the notch | Default(0 = [No support])
);
$fn
: defines the number of facets by default. In other words how smoother the propeller will be. If you are just experimenting we recomend you to comment that line.blades
: just the number of blades you wantheight
: total propeller heightblade_length
: blade lenght or total radius. If you have a 5'' drone set this to 63 (mm).blade_width
: blade widthblade_thickness
blade thickness. Be aware of your printer capabilities.blade_hole_offset
: displacement between outer and inner sides of the blades. It shouldn't be greater than thickness.blade_attack_angle
: this sets how is going to be the attack angle. A positive value will generate a CW propeller and a negative one a CCW.blade_offset
: blade distance from propeller axissafe_blades_direction
: indicates if a blade must delete itself from getting into the previous or the next blade.hub_height
: hub or holder height.hub_d
: hub or holder diameter.hub_screw_d
: motor axis screw diameter.hub_notch_height
: support hole height.hub_notch_d
: support hole diameter.That's all! Render it with this values with OpenSCAD and you will get something similar to this:
Now it's your turn. Play with the parameters and try adding more blades, different lengths, attack angles, etc. Let's make something awesome!
:children_crossing: If you are new contributing we recommend you to start by playing with the core design file toroidal_propeller.scad
.
:memo: When you see something you want to add, modify or refactor first of all, you should create a new issue providing as much information as you can. We will appreciate if you can write as an user story (e.g. AS [a user persona], I WANT [to perform this action] SO THAT [I can accomplish this goal]
.)
:twisted_rightwards_arrows: Then you should create a fork of the project, clone it to your local, create a new local branch and you will be ready to start making changes. You'll need a recent version of OpenSCAD.
:rocket: When you finish making changes go to pull requests and create a new one selecting your fork as source. More info on GitHub Docs: creating a pull request from a fork. Please add as much information as you can explaining what have you done, strategies you followed, which issue resolves, etc.
:speech_balloon: Your PR will be commented, reviewed and, we hope, :tada:approved and merged into main branch:tada:.
If you want to contribute but you feel lost with all this process please fell free to contact to any of the mantainers, they will help you a lot.