ThrustLab

Propeller editor

The propeller editor is where you build or refine a blade station by station. It is one shared editor: whether you scan a photo, generate a blade, or start from a template, you land on the same surface — a station table on one side, the chord/twist/thickness curves on the other, and a live geometry echo so you can see exactly what the solver will use. This page documents every control on it. The ⓘ next to any field links straight here.

You pick section shapes, never aerodynamic coefficients — the solver computes the section aerodynamics automatically. There is nowhere to enter a lift or drag number, by design.

If you are new, the fastest path is: start from a template, then adjust the station table or drag the curves until the blade looks right. Everything flagged Advanced (the airfoil library, .dat import, radial breakpoints) can stay at its default until you need radially-varying sections.


Getting in

Create a propeller

Choose how to start a new blade. Scan a photo turns a top-down photo of a real propeller into geometry, then opens it here with every station prefilled so you can refine it. Generate an optimal blade designs a minimum-loss blade from a thrust or power target — it is shown but disabled for now, arriving later this release. Start from a template opens a baseline blade (a single airfoil with default chord/twist/thickness curves) for fully manual editing.

Typeinput · select
OptionsScan a photo, Generate (coming soon), Start from a template
DefaultStart from a template

When to change it. Scan when you have a physical prop to copy; start from a template when you are designing from scratch.


Per-propeller globals

The header above the station table holds the values that apply to the whole propeller rather than a single station.

Name

The name this propeller is saved under in your catalog. Leave it blank to use an automatic name from the size (for example, "18x12 propeller"), or type your own so you can tell several variants of the same size apart at a glance.

Typeinput · text
Defaultauto from size

When to change it. Whenever you are saving more than one blade of the same diameter and pitch — give each a name you will recognize later.

Diameter

The propeller's overall tip-to-tip diameter, in inches. It sets the tip radius that every station's r/R is measured against, so changing it rescales the whole blade. Typical multirotor and UAV propellers run roughly 5–30 inches.

Typeinput · number
Unitsin
Range1–120
Typical5–30 in

When to change it. Set it to the real prop's diameter before editing stations, since it anchors the r/R scale.

Hub r/R

Where the working blade starts, as a fraction of the tip radius — the innermost station's r/R. It is read from your station table (the first row), so it is shown for reference rather than typed: to move the hub, edit the first station's r/R. A typical hub is 10–20% of the tip radius.

Typeoutput · derived
Unitsfraction (0–1)
Typical0.10–0.20

How to read it. If this does not match the hub of the real blade, change the first station's r/R until it does.

Blades

How many blades the propeller has (B). The aero solve and the 3D and CAD bodies use this count, with the blades equally spaced around the hub. Two and three blades are the most common; more blades add thrust and solidity at some efficiency cost.

Typeinput · number
Unitscount
Range2–16
Typical2–3

When to change it. Match it to the real propeller's blade count; it changes both the predicted performance and the exported body.

Weight

The propeller's mass in grams. It is required to save: when the spec carries no measured inertia, the solver estimates the rotor's spin-up inertia from the mass and diameter, and dynamic (time-domain) runs need that inertia. It also feeds the total-weight bookkeeping.

Typeinput · number
Unitsg
Range0.1–10000
Typical10–60 g for 8–16 in props

When to change it. Enter the published or measured mass of the real article — the inertia estimate is only as good as the mass you provide.


The station table

Each row is one radial station. Typing in a cell writes through to the matching curve, so the table and the curves never drift apart — see Table and curves.

r/R

Where this station sits along the blade, as a fraction of the tip radius: 0 is the hub, 1 is the tip. The radii must increase strictly from hub to tip and stay between the hub radius and the tip. A row that is out of order or out of range is highlighted and blocks saving until you fix it.

Typeinput · number
Unitsfraction (0–1)
Rangehub radius … 1
Typicalevenly spaced from ~0.15 to 1.0

When to change it. Add or move stations to put detail where the blade shape changes fastest (usually near the root and the tip).

Chord

The width of the blade at this station — the distance from leading edge to trailing edge. Editing it moves the nearest control point on the chord curve. Wider chord generally moves more air for a given RPM but adds drag and weight; most blades taper from a wide root toward a narrower tip.

Typeinput · number
Unitsmm
Typicaltapers from root toward the tip

When to change it. Set the planform you want, or drag the chord curve and let the table follow.

Twist β

The pitch angle of the section at this station, measured from the rotor disk. Twist is a free, fully editable degree of freedom. For scanned or legacy blades that did not store an explicit twist curve, it is seeded automatically from the pitch helix plus the standard APC-E rolldown — a one-time starting point — and a notice reminds you that the twist was derived from pitch until you edit it. Override any station, or drag the twist curve, to take full control. Higher twist near the root and lower toward the tip is the usual shape.

Typeinput · number
Units°
Defaultseeded from pitch (editable)
Typicalhigh at the root, low at the tip

When to change it. Whenever you want a specific blade pitch distribution rather than the pitch-derived default.

t/c

The thickness-to-chord ratio of the section here — how thick the airfoil is relative to its width. Editing it writes through to the thickness curve. Thicker sections are stiffer and structurally stronger; thinner sections are more aerodynamically efficient but more fragile. Blades usually thin out toward the tip.

Typeinput · number
Unitsratio
Typical~0.10–0.20, thinning toward the tip

When to change it. To trade structural margin against efficiency along the blade.

Sweep

Blade sweep is the chordwise offset of each section's quarter-chord relative to radius, normalized by the tip radius — the locus x_LE/R. A conventional straight blade is 0 at every station; a positive distribution rakes the quarter-chord aft along the span, giving a swept (scimitar) blade.

Sweep reduces the section's effective dynamic pressure by cos²Λ, where Λ is the local sweep angle of the quarter-chord line (the slope of the swept locus vs radius). Physically a swept blade is quieter and sheds a little tip loading, at a small thrust/efficiency cost. The 3D viewer stacks each section ring on the real swept quarter-chord locus, and the CAD export body follows the same locus — so a swept blade looks swept everywhere, not just in the table.

Typeinput · number
Unitsx_LE/R (fraction of tip radius)
Typical0 (straight); a few % aft for a mild scimitar
Default0 (straight)

When to change it. Leave it 0 for a conventional straight blade. Dial in a modest aft sweep when you want a scimitar planform — for noise or tip-loading reasons — and watch the 3D view and exported body follow the swept quarter-chord.

Airfoil

The airfoil section shape used at this station. By default a single airfoil runs the whole blade. Add a radial breakpoint and the editor blends between the chosen sections so the shape can vary from root to tip. You choose a shape only — the solver computes that section's aerodynamics automatically, so there are never polar coefficients to enter anywhere.

Typeinput · picker

When to change it. When you want a different section near the root than at the tip, or a non-default airfoil entirely. Open the airfoil library or import your own.


How editing works

Table and curves

The station table and the chord, twist, and thickness curves are two views of the same blade. Type a value into a table cell and the nearest curve control point moves to match; drag a curve control point and the interpolated table values update at every station. There is no separate apply step between them — the two views are always in sync. Recomputing the full blade geometry is a separate, automatic step that runs as you edit.

Why it matters. You can work whichever way is faster for the task — exact numbers in the table, or freehand shaping on the curves — without ever reconciling the two by hand.


Airfoils

Airfoil library

A searchable browser of roughly 2,000 published airfoil sections (the UIUC database). Filter by name, family, maximum thickness, or camber to find a section. The library is read-only; any airfoils you import appear alongside it under your own airfoils, marked as yours.

Typeinput · picker

When to change it. When the default section is not what you want — for example, a thinner high-speed section toward the tip.

Import .dat

Upload your own airfoil as a coordinate (.dat) file. Both common coordinate formats — Selig and Lednicer — are auto-detected, so there is no format toggle to set. The section is fitted to the same internal shape representation the solver uses (a Kulfan fit) and saved as your own custom airfoil, reusable across all of your propellers. If the file cannot be read, or the fit does not converge (self-intersecting or too-sparse coordinates), the editor tells you exactly what to fix and nothing is added.

Typeinput · file

When to change it. When you have a section that is not in the library — a proprietary or measured airfoil.

Radial breakpoint

A point along the blade where the airfoil section changes. With no breakpoints, one airfoil runs the whole blade — the back-compatible default. Add a breakpoint at a given r/R and assign a different section, and the editor blends smoothly between the breakpoints (on a common section sampling), so the shape varies radially without forcing you to set an airfoil at every station.

Typeinput · list

When to change it. When you want a genuinely radially-varying blade — for instance a thicker, more cambered root section transitioning to a thin tip.


Checking the result

Geometry echo

A read-only view of the chord, twist, and thickness the solver will actually use: the interpolated values between your control points, not the control points themselves. It is here so you can catch a curve that overshoots between stations — which would pinch or bulge the real blade — before you save. When an interpolated value runs past the envelope of its control points beyond a small threshold, a warning band appears on that curve so you can add a control point or flatten the curve.

Typeoutput · preview

How to read it. If the echoed curve stays inside the band you expect, the interpolation is faithful. A flagged overshoot means the spline is doing something between your stations that you did not intend — adjust a nearby control point.


The 3D blade viewer

The preview area shows a 2D planform by default. Switch it to a rotatable 3D view of the lofted blade whenever you want to inspect twist and taper in three dimensions.

2D / 3D view

Switch the preview between the 2D planform — the chord and twist outline you see by default — and the lofted 3D blade. 2D is the default because it draws instantly and needs no graphics hardware; choosing 3D loads the viewer on demand the first time you open it, so opening the editor stays fast. If your browser or device does not support WebGL, the 3D option is unavailable (greyed out) and the 2D view shows the same geometry — you are never left with a blank canvas.

Typeinput · select
Options2D, 3D
Default2D

When to change it. Switch to 3D to sanity-check the twist distribution and the tip shape in three dimensions; stay on 2D for fast, hardware-free planform checks.

3D blade view

The 3D view renders your blade as a surface you can rotate and zoom. It draws the assembly minus the hub: N matched blades (one per blade count), equally spaced around the axis and offset from the center by the hub radius, with no central hub solid — the same body the CAD export will produce. The view is an approximate loft for quick visual inspection: it lofts the per-station section coordinates, chord, twist, and radius the editor already computed, so it updates as you edit, with no extra solve. The exact, watertight body — the one suitable for manufacture — is the CAD export (a later release); treat the 3D view as a fast preview, not the precise geometry.

Typeoutput · viewer

How to read it. Confirm the blade count and spacing look right (you should see N blades and no hub), then check that the twist sweeps the way you expect from root to tip. If the surface looks wrong, switch back to 2D and check the station values.

Orbit controls

Drag to rotate the blade, scroll to zoom, and pan to reposition it. The Reset view control re-frames the camera to the default fit, so you can always get back to a clean starting angle after exploring. When your system asks for reduced motion, auto-spin and inertia are disabled — dragging still works, it just stops with you instead of coasting.

Typeinput · viewer controls

When to use it. Reset view is the quickest way to recover a sensible framing after you have rotated or zoomed far in; otherwise just drag and scroll to inspect the area you care about.


Exporting to CAD

When the blade is ready, download it as a CAD file you can open in your own software. The export builds the exact, watertight body — the assembly minus the hub, N matched blades equally spaced around the axis with no central hub solid — from the same geometry the 3D view shows.

Export format

Choose which CAD file you download. STEP is the watertight solid most engineers want: it opens directly in SolidWorks, Fusion 360, Inventor, and Onshape as an editable body. IGES is an older surface interchange for legacy tools. STL is a triangle mesh for slicers and quick visualization — useful for 3D printing or a fast look, but it is a mesh, not an editable solid.

Typeinput · select
OptionsSTEP, IGES, STL
DefaultSTEP

When to change it. Stay on STEP for CAD work; pick STL only when you need a mesh for a slicer, or IGES when a legacy tool cannot read STEP.

Download

Builds the exact blade body from the geometry you have open and downloads it in the chosen format. It uses the blade you are looking at — the live station coordinates, chord, twist, radius, blade count, and hub radius — so the file you get matches the 3D view exactly. The control is available once the blade has composed at least once; if the geometry cannot be lofted for some reason, you get a clear message instead of a broken file.

Typeaction · button

How to use it. Pick a format, click Download, and open the file in your CAD tool. Confirm the blade count and that the twist and centering look right.

SolidWorks / Fusion compatibility

STEP (AP242) opens directly in SolidWorks, Fusion 360, Inventor, and Onshape as an editable solid — no plugin or conversion step needed. Native .SLDPRT and .f3d are closed, proprietary formats with no offline writer outside their own applications, so there is nothing here to export them with. STEP is the universal interchange every major CAD package reads and writes, which is why it is the default and the recommended choice for taking the blade into CAD.

Typereference

Why it matters. You do not need ThrustLab to speak your CAD tool's native file format — STEP is the bridge every major tool already understands, and it carries the blade as a true editable solid, not just a surface or a mesh.

Include hub

When you hit Download, the export popup asks whether to include the central hub.

  • Off (default) — the blades-only assembly, matching the classic export. Use this when you're mating the blades to your own hub or spinner design in CAD.
  • On — a one-piece prop: a central hub cylinder is fused with the blades into a single watertight solid, ready to print. The hub matches what the 3D view shows — its radius sits just over the blade-root radius so the roots merge into it, and its height matches the root chord's axial depth.

A CW propeller exports as the mirrored body, exactly as the 3D view renders it.

Typeinput · checkbox
Defaultoff

Rotation direction

Which way the propeller spins. ThrustLab uses the top-view convention: the direction you would see looking down at the top of a multirotor, or from the front of an airplane. This is the same convention printed on the blades you buy from DJI, T-Motor, and HQProp, and drawn in Betaflight motor-direction diagrams.

  • CCW — counter-clockwise. This is a standard, right-hand propeller, and it is the default for a new prop.
  • CW — clockwise. This is a pusher (also called a reverse or left-hand) propeller.

In the creator, Rotation records the exact handedness of the article in front of you — it is a required choice before a scan, so the scanner always knows which way the photographed prop turns. Whether the product is sold in both rotations is the separate Variants checkbox.

Typeinput · select
OptionsCCW, CW
DefaultCCW

Why is my pusher prop labeled CW? Because the label is the top-view direction, not the aviation pilot's-eye view (which is the mirror image). A pusher blade spins clockwise when you look down on it, so it reads CW here — matching the marking on the physical prop.

Does it change the simulation? No. A propeller and its mirror-image twin perform identically, so rotation is a catalog label only — it never feeds the solver. It exists so you can find and pick the correct handedness for each motor position in a build. You can filter the propeller picker by CW / CCW, and set the rotation on your own props in the creator.

Variants (CW + CCW)

Check this when the propeller is sold in both CW and CCW versions. FPV racing bundles and the APC MR (multi-rotor) family ship as CW+CCW pairs, so the catalog marks those as "both".

This is a catalog fact, kept separate from Rotation on purpose: Rotation is the handedness of the exact prop you scanned or designed, while Variants makes the saved prop match both CW and CCW searches in the library filters. A scanned prop always keeps its exact scanned handedness on record, even when Variants is checked.

Typeinput · checkbox
Defaultoff

We use cookies and analytics tools to understand how you use ThrustLab and improve the experience. Privacy Policy

Propeller editor · ThrustLab API