RaulBejarano / Ultimate-Toroidal-Propeller-Generator

The Ultimate Toroidal Propeller Generator is an open source project that provides a way to generate STL files of toroidal drone propellers.
GNU General Public License v3.0
110 stars 17 forks source link

Ultimate Toroidal Propeller Generator

release license commits

The Ultimate Toroidal Propeller Generator is an open source project that provides a way to generate STL files of toroidal drone propellers.

3 blades propeller 5 blades propeller

:sparkles: Features

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

:muscle: Getting started

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!

:arrow_down: Download stuff

Fist of all you have to download several things:

  1. This repository by downloading it or by cloning it (we assume that if you use this method you know how to do it). Then unzip the files.
  2. OpenSCAD: the sofware we need to render and create our STL files.

:hammer: Creating our first propeller

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])
);

That's all! Render it with this values with OpenSCAD and you will get something similar to this:

3 blades propeller

Now it's your turn. Play with the parameters and try adding more blades, different lengths, attack angles, etc. Let's make something awesome!

Contributing

: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.