The Propeller component models propellers and rotors. It builds one blade from cross sections and a set of spanwise curves, then places a copy of that blade for each blade of the rotor. Each copy is placed by a chain of rigid motions: the blade's spacing, the rotation of the rotor, the precone, and four hinges -- flap, lag, feather and fold. The flap, lag and feather can give every blade the same angle, give each blade its own angle, or vary each blade's angles with its azimuth as a harmonic series, as on a helicopter rotor; the fold takes one angle, or one per blade.
| Topic | Tab |
|---|---|
| Quick Start | |
| Axes and Rotation Direction | Design |
| Modeling Mode | Design |
| Design Parameters | Design |
| Pitch: Feather and Beta 3/4 | Design, Motion |
| Cross Sections | XSec, Modify |
| Blade Curves | Blade |
| How a Blade Is Built | Design, Blade |
| Rotor Metrics | Design |
| Blade Spacing and Balance | More |
| Hinges | Motion |
| Placing the Blades | Design, Motion |
| Blade Motion Modes | Motion |
| Harmonic Blade Motion | Motion |
| Reverse Rotation | Design |
| Clones of a Propeller | Clone |
| Scripting | |
| Older Files | |
| BEM Files |
Both start from a preset at the top of the Design tab: choose it under Preset and click Set. A preset replaces the sections, the blade curves, the pitch, PsiRef and the Y rotation, set in the frame the propeller is placed in. Everything else keeps its value, so a preset is meant for a new propeller.
Coning, flapping and cyclic pitch are set on the Motion tab; see Harmonic Blade Motion.
The propeller is built in its own axes, which the XForm tab places in the model (Figure 1).
The factor is for normal rotation and when Rev is checked (see Reverse Rotation).

Figure 1. The propeller axes on the default propeller. Heavy edges are the trailing edges; Rotate turns blade 1 from , and places blade 2.
Prop Mode chooses what is built.
| Mode | Surfaces |
|---|---|
| Blades | One surface per blade. |
| Both | The blades, then one disk surface. |
| Disk | Only the disk: a flat circle of the propeller's diameter in the plane of rotation. |
The disk is a transparent surface for analyses that model the rotor as an actuator disk. DegenGeom gives a disk as its center, diameter and normal, with no plates or sticks.
Prop Mode also decides what analyses receive. VSPAERO models a disk as an actuator disk, set up on its Disk tab, and blades as lifting surfaces, which its Propeller tab turns in an unsteady analysis. A disk is also much quicker to update, since no blade is lofted. Lay out an aircraft with many propellers in Disk mode, and use Blades where the blades themselves matter.
Blade Direction Marker sizes the rotation arrow to Fraction of the radius instead of the axis length.
| Control | Parm | Default | Meaning |
|---|---|---|---|
| Diameter | Diameter |
30 | Tip diameter, . |
| Num Blades | NumBlade |
3 | Number of blades, . |
| Cylindrical Foils | CylindricalSectionsFlag |
off | Wrap each section onto the cylinder of its radius. |
| Rev | ReverseFlag |
off | Reverse the direction of rotation. |
| Rotate | Rotate |
0 | Rotation of the rotor , degrees, in the direction of rotation. |
| Beta 3/4 | Beta34 |
20 | Blade pitch at 3/4 radius, degrees. |
| Feather | Feather |
0 | Feather (pitch) angle of the blade, degrees. |
| Pre-cone | Precone |
0 | Precone angle , degrees; positive tips the blades toward the thrust. |
| Construct X/C | ConstructXoC |
0.5 | Chordwise point of every section that lies on the blade's construction line. |
| Feather Axis | FeatherAxisXoC |
0.5 | Chordwise point of the root section placed on the feather axis. |
| Feather Offset | FeatherOffsetXoC |
0 | Moves the blade and its feather axis off the shaft, in root chords. |
Construct X/C and Feather Axis X/C do different jobs.
Both default to 0.5. With the defaults and no offsets, the construction line is the feather axis, so the sections twist about it. With no offsets but different values, the construction line is parallel to the feather axis, from it along the root chord, where is the root chord and , are Feather Axis X/C and Construct X/C. Both values are usually between 0 (the leading edge) and 1 (the trailing edge).
The figures compare Construct X/C = 0, 0.5 and 1 on the default blade, with Feather Axis X/C at its default 0.5. Seen from the root toward the tip, the sections stack on their Construct X/C points. Seen from behind, the planform changes: at 0 the leading edge is straight, at 1 the trailing edge (Figures 2-3).

Figure 2. Root, mid and tip sections, seen from the root toward the tip. The dot is the construction line, seen end on.

Figure 3. The same blades seen from behind, with the root, mid and tip chords. The construction line is dotted.
The blade's pitch is set either by the Feather angle or by Beta 3/4, the pitch at three quarters of the radius. The two are related through the twist at :
where the twist term is zero if the blade starts outboard of
.
The radio buttons (UseBeta34Flag) choose which one is set;
the other is shown as an output. Beta 3/4 drives by default. While it
drives, every blade takes the same Feather, whatever the blade motion
mode; any per-blade and harmonic feathers are kept, greyed, and are not
used. To give the blades individual or cyclic pitch, select
Feather: the feather then follows the blade motion mode like
the flap and lag.
The XSec tab holds the blade's cross sections. Each section sits at a Radius given as a fraction of the tip radius; the last section is always at the tip, . The first section's radius is the root of the blade and sets the hub diameter used by analyses.
A section's type sets its airfoil family, not its proportions. The Chord, Thick and CLi curves on the Blade tab set the chord, the thickness and the design lift coefficient at every radius, and the section's own values for these are greyed. CLi sets the camber of the families that have one: the NACA 5-digit, 5-digit modified, 16-series and 6-series take it directly, and the NACA 4-digit and 4-digit modified take it as the maximum camber that gives that design lift coefficient at the section's camber position. That camber comes from thin airfoil theory, by which the 4-digit mean line's design lift coefficient is proportional to its maximum camber; the relation was derived for OpenVSP so that a blade could be described by CLi. Other families, such as the ellipse, biconvex and wedge, take the thickness but have no camber for CLi to set.
Between two sections, the blade's sections are made in one of two ways.
So use as few families as you can, and families defined by equations. A root and a tip section are enough; the curves on the Blade tab carry the variation of chord, thickness and camber along the span, so more sections are needed only to change the family. Two sections suit a blade of one family; three, a blade with a round or elliptical cuff at the root; four, a blade that changes from one family to another, with a section at each end of the change. The default propeller has an ellipse at the root, as many propellers do, and 16-series sections from to the tip. Between the root and 0.4 its sections are blends; from 0.4 out they are true 16-series airfoils at each radius's thickness and CLi. File and CST airfoils can only be scaled and blended, never regenerated: their thickness follows the Thick curve, but CLi does not change them.
The Modify tab trims, closes, caps and flaps the active section as on a wing; see The Modify Tab. An Abs closure keeps its thickness in model units at every radius as the chord changes along the blade, while a Rel closure stays a fixed fraction of the local chord; a trailing edge of constant thickness is set as Abs.
The Blade tab edits curves of each quantity against (Figure 4). Each curve can be Linear, Spline (PCHIP) or Cubic Bezier. The first and last points are pinned to the root and tip. Approximate All converts every curve to a cubic Bezier. Reset Thick rebuilds the Thick curve from the thickness of each section.

Figure 4. The Curve Editor of the Blade tab showing the default Chord curve, a Cubic Bezier, with the root point selected.
In the plot, the black diamonds are the points the curve passes through, and the green circles are the Bezier handles, joined to their points by thin lines; a Linear or PCHIP curve has only diamonds. The selected point is a yellow square, and its row of the Control Points table is labeled in yellow. Points can be dragged in the plot. A handle's is fixed a third of the way to the neighboring point and is greyed; only its value moves, which sets the slope. G1, on a point between the root and the tip of a Cubic Bezier, keeps the curve smooth there: checking it sets both handles to the average of their slopes, and afterward moving either handle moves the other to match. Split adds a point on the curve at r/R Split; on a Cubic Bezier the new point comes with two handles and the curve keeps its shape. Del deletes the selected point, with its handles; the root and tip points cannot be deleted. Split Pick and Del Pick act on the next click in the plot: Split Pick splits the curve at the clicked, and Del Pick deletes the point clicked.
Linear suits a straight taper or a linear twist. Cubic Bezier is the easiest type to shape by hand, since its handles set the slope at each point. PCHIP passes through every point, but its shape between them is hard to steer; it is the type a BEM import gives (see BEM Files). Convert to Approximate Cubic Bezier refits a single curve as a cubic Bezier with fewer points.
| Curve | Units | Meaning |
|---|---|---|
| Chord | Local chord. | |
| Twist | degrees | Twist about the Construct X/C line; positive turns the leading edge toward the thrust. |
| Rake | Offset perpendicular to the local chord; positive is downstream. | |
| Skew | Offset along the local chord; positive is toward the trailing edge. | |
| Sweep | degrees | Turn of the section about the shaft; positive moves it back, against the rotation. |
| Axial | Offset perpendicular to the plane of rotation, along the shaft; positive is downstream. | |
| Tangential | Offset in the plane of rotation, across the radius; positive is against the rotation. | |
| Thick | Thickness to chord ratio (see Cross Sections). | |
| CLi | Design lift coefficient, which sets the camber (see Cross Sections). |
Each section is laid out with its chord in the plane of rotation, scaled to the local chord, with its Construct X/C point on the radial line at its radius. It is then twisted, offset, swept and wrapped, as Figures 5-10 show for normal rotation; in each figure the earlier state is dashed.
Rake and Skew, or Axial and Tangential, can give the same shapes, so use one pair or the other; do not mix them. Rake and Skew are perpendicular and parallel to the local chord, and so turn with the twist. Axial and Tangential are perpendicular and parallel to the plane of rotation.
Skew and Tangential move sections sideways off the radial line, so they change the blade's true diameter: a tip section whose construction point is offset by in the plane of rotation lies from the shaft, beyond the Diameter. Rake and Axial keep each section at its radius, so a blade that leans along a varying curve grows longer instead.
A blade whose Rake or Axial curve is not constant leans along that curve. Each section is tilted by an angle so that it stays perpendicular to the curve (Figure 7). is not a parameter: OpenVSP computes it from the slope of the Rake and Axial curves.

Figure 5. Twist about the Construct X/C line.

Figure 6. Rake and Skew move the section perpendicular to and along its chord (dash-dot). Axial and Tangential, dashed and in italics, move it perpendicular to and within the plane of rotation; here they reach the same place. Dashed, the twisted section with neither.

Figure 7. A blade raked along a curve, in 3D and seen from behind its trailing edge. , the angle of the curve's tangent from the radial direction, is computed, not set; it turns each section to lie perpendicular to the curve.

Figure 8. Seen from upstream: a section (Construct X/C 0.5, no offsets) out at radius , centered on the radial line, then turned by Sweep about the shaft. The Sweep angle is marked at the shaft; the arc at the section is the path of its center.

Figure 9. The default blade from the hub, Feather Axis X/C 0.3 and Feather Offset 0.25. The root section (outline) sets the move: Feather Axis X/C along the root chord, Feather Offset along . The mid section moves with it from where it was (dashed).

Figure 10. The default blade from behind, with Cylindrical Foils off and on. Each red section lies on the circle of its radius (dotted) when they are on.
The blade is lofted through the placed sections. This is the blade "as built", ; the motions in Placing the Blades are applied to it afterward (Figure 11).

Figure 11. The blade as built, with its feather axis.
The Design tab reports several rotor metrics commonly used to describe propellers and rotors. The activity factor and the integrated design lift coefficient are mostly used for propellers; the mean chords and solidities mostly for rotors. Each integral is taken over the blade curves themselves, by adaptive quadrature, not over a set of sampled stations. Below, , is the Chord curve as , the root, and the activity factor's lower limit r_0 (0.2 by default, and never inboard of the root).
The Activity Factor and the integrated design lift coefficient CLi are
The mean chord C/R, the thrust-weighted mean chord C_T/R and the power-weighted mean chord C_P/R are
and the solidities , and , blade area over disk area, follow from them:
Blade 1 is the reference blade. Each other blade
sits at a fixed angle
ahead of blade 1, the Parm BladeAz_i, measured in the
direction of rotation
().
These are numbered by blade, while the per-blade angles below are
numbered from blade 2 as 1: BladeAz_2 and
FlapAngle_1 both belong to blade 2. The More tab sets the
spacing.
| Mode | Spacing |
|---|---|
| Uniform | . |
| Free | Set each
,
or with Delta checked, each one's difference
DeltaAz_i from uniform. |
| Balanced | As Free, but the last two blades are placed so that the blades balance; with , uniform. |
X1 Balance and X2 Balance report the centroid of the blades' unit vectors as a fraction of the radius, along blade 1 and across it:
Both are zero for a balanced rotor. is positive toward blade 1's trailing edge ( for normal rotation). They treat the blades as identical, so they depend only on the spacing, not on any blade's chord or mass; the hinge angles are not considered.
OpenVSP can model a fully articulated rotor, with a flap hinge, a lag hinge and a feather bearing on each blade, and blades that fold. Each of these motions is a turn about a hinge. A hinge at zero angle does nothing, so a rotor without, say, lag hinges simply leaves the lag angle at zero; OpenVSP does not solve for the blades' motion, so it does not need to know which hinges a rotor really has. A hinge may sit at the hub, . A flap hinge there with first-harmonic flapping (see Harmonic Blade Motion) makes a two-bladed rotor teeter as one rigid body. With more blades and first-harmonic feathering as well, and , it stands in for a gimballed hub to second order in the tilt.
Each hinge turns the blade, and everything outboard of the hinge, by its angle , right-handed about the line through its point along its axis :
The hinges are applied hub to tip in order of their radial position, so each hinge carries every hinge outboard of it. Hinges at the same radius go flap, lag, fold, feather. With the default positions (flap 0.05, lag 0.10, feather 0.15, fold 0.20) the order is flap, lag, feather, fold.
Hinges are given in the blade axes , whose origin is the rotor center: along the chord from the leading edge to the trailing edge, radially out along the blade, and toward the thrust (Figure 12). The blade axes follow the direction of rotation, so a hinge means the same on a reversed rotor, and they turn with the blade's precone, spacing and rotation.

Figure 12. The blade axes on blade 1.
| Hinge | Parms | Positive angle |
|---|---|---|
| Flap | RFlapAx,
OffFlapAx, AxFlapAx, AzFlapDir
,
ElFlapDir
,
FlapAngle |
tip toward the thrust |
| Lag | RLagAx,
OffLagAx, AxLagAx, AzLagDir
,
CantLagDir
,
LagAngle |
tip back, against the rotation |
| Feather | RFeatherAx,
Feather |
leading edge toward the thrust |
| Fold | RFoldAx,
OffFoldAx, AxFoldAx, AzFoldDir,
ElFoldDir, FoldAngle |
tip downstream |
The flap, lag and fold hinges each have a point set by Radial/R, Offset/R and Axial/R: out along the blade, along the chord toward the trailing edge, and downstream along the shaft, each as a fraction of the radius (Figure 13):

Figure 13. A hinge's point from the rotor center: Radial along , Offset along , Axial along , each times .
Their axes are turned from a starting direction in two steps:
The feather bearing turns the blade about the radial line through the root's feather axis:
The 3D view draws the active blade's hinges in the colors of their Motion tab groups: flap blue, lag orange red, feather lime green, fold orchid.
Figures 14-15 show the flap hinge, Figures 16-17 the lag hinge, Figure 18 the feather and Figures 19-20 the fold hinge. The first of each pair builds the axis at its hinge point in two turns: from the dashed line, about the first axis to the dotted line, then about to the final axis in the hinge's color. The arcs are the path of the axis's tip for positive angles, and each axis turned about carries a curl for its positive sense. The blade axes are drawn at their origin, the rotor center; at the hinge point only their directions are shown. The second turns the blade about that hinge alone, with the blade before it dashed.

Figure 14. The flap axis at its hinge point: from , turned by about , then by about .

Figure 15. A positive FlapAngle about an unskewed flap hinge at Radial/R 0.05: the tip toward the thrust.

Figure 16. The lag axis: from , turned by about , then by about .

Figure 17. A positive LagAngle about an uncanted lag hinge at Radial/R 0.13: the tip back, against the rotation.

Figure 18. A positive Feather: the leading edge toward the thrust.

Figure 19. The fold axis: from , turned by El about , then by Az about .

Figure 20. A positive FoldAngle about an unskewed fold hinge at Radial/R 0.29: the tip downstream.
Each blade is the blade as built, , moved by
where is a right-handed turn by about axis , and
The turns about are by minus times the angle, so each is a turn in the direction of rotation. The product reads two equivalent ways. Right to left, each factor turns the blade about an axis fixed where it lies with everything at zero: the tip-most hinge first, the blade's spacing last. Left to right, each factor carries every factor to its right with it, so the precone tips the hinges and each hinge carries every hinge outboard of it. The Geom's placement and any symmetry act after this; see Scripting. Figures 21-23 show the steps.

Figure 21. The four hinges on the blade, each at its own point inboard of the blade root: flap, lag, feather, fold, hub to tip.

Figure 22. Precone turns the blade about through the hub.

Figure 23. Every motion: three blades with their hinges turned, precone and Rotate, and blade 1's hinge axes where the joints inboard of them carry them.
The blade's azimuth , the angle harmonic motion uses and the usual rotorcraft azimuth, is
lies along turned by PsiRef in the direction of rotation. PsiRef is not part of : changing it turns the whole rotor, harmonic pattern and all, while changing Rotate moves the blades through the pattern (Figures 24-25). In helicopter position, PsiRef 270 puts over the tail.

Figure 24. A rotor in helicopter position, PsiRef 25 and Rotate 40: PsiRef sets where lies, Rotate turns blade 1 from there, and . Heavy edges are the trailing edges.

Figure 25. The same with Rev checked: every angle runs the other way, with the rotation.
Mode on the Motion tab chooses how the flap, lag and feather angles are given.
| Mode | Angles |
|---|---|
| Collective | Every blade takes the same angle, one value for each hinge. |
| Individual | Each blade has its own angle for each hinge. |
| Harmonic | Each blade's angle is a harmonic series in its azimuth (below). |
In Individual mode, pick the blade to edit with Blade; the active blade is outlined in the 3D view. The fold is separate: its Ind. toggle gives each blade its own fold angle.
In Harmonic mode each hinge's angle on blade is a mean plus harmonics of the blade's azimuth :
and likewise for the lag and the feather . Harmonics sets (0 to 20).
| Hinge | Mean | Cosine, sine coefficients |
|---|---|---|
| Flap | FlapMean,
|
FlapCos_n,
FlapSin_n:
,
|
| Lag | LagMean,
|
LagCos_n,
LagSin_n:
,
|
| Feather | FeatherMean,
|
FeatherCos_n,
FeatherSin_n:
,
|
These are the angles about each hinge's own axis, and the signs follow CAMRAD II. For a flap hinge with no Elevation or Azimuth (, ) the flap angle is the classical flap : is the coning, positive raises the tip at and positive at , tilting the tip path plane. A skewed hinge also turns the blade about its chord, so the flap out of the plane is smaller and the pitch changes too (see Hinges).
In this mode the angle sliders show, greyed, blade 1's angle at the current Rotate (Figure 26). Each blade's own angle is set too, at the current Rotate, so switching to Individual starts from the harmonic shape at that rotation angle. Because each blade's angles follow its own azimuth, turning the rotor by one blade spacing carries every blade to where the next one was, with that blade's angles: the tip path stays put while the blades move along it (Figures 27-29).

Figure 26. The Blade Motion and Flap groups of the Motion tab in Harmonic mode with two harmonics: , , and the second harmonic zero, on four blades at Rotate 20. The greyed Angle is blade 1's flap, .

Figure 27. The flap angle against azimuth for , , (PsiRef 0), with the angle each of four blades takes at Rotate 20.

Figure 28. The same rotor in helicopter position, PsiRef 0, so is not over the tail: its tip path (dashed) over the plane of rotation (dotted).

Figure 29. Seen from the front, looking aft: cones the tip path toward the thrust and raises it at .
Checking Rev reverses the direction of rotation and makes the propeller the mirror image of the normal one: the sections flip chordwise, every tangential quantity changes sign (Skew, Tangential, Sweep, Twist, the Construct and Feather offsets), the blades turn the other way, and every hinge mirrors with the blade. In the equations above this is the factor .
Two rotors that are mirror images in the plane between them differ in two parameters: the second has Rev checked and PsiRef 180 degrees more. Every other parameter, the hinge and harmonic angles included, keeps its value, and each blade mirrors the same-numbered blade of the other rotor (Figures 30-31). The 180 degrees are needed because the mirror moves to the other side of the shaft; in helicopter position, PsiRef 270 for the normal rotor and 90 for the reversed one both put over the tail. With PsiRef unchanged, the reversed rotor is instead the mirror image in the plane through the shaft and the propeller's axis.

Figure 30. Side-by-side rotors in helicopter position, normal (grey) and Rev with PsiRef 180 degrees more (tan): mirror images in , turning opposite ways.

Figure 31. The same rotors: each blade mirrors the same-numbered blade, and both have over the tail.
A hinge axis does not simply mirror with its arrow. A positive turn is right-handed about its axis, and the mirror turns the curl around, so the reversed rotor's axis points opposite to the mirror image of the normal one's arrow (Figure 32).

Figure 32. A lag axis mirrored in : the curl mirrors, so the reversed axis points opposite to the plain mirror image of the normal one's arrow (dotted).
A Clone of a propeller has Rotor Rotation under Copy From Original. Checked, the default, the Clone's blades follow the original's Rotate. Unchecked, the Clone has its own Rotate in the Rotor group, and its blades, with their harmonic angles, are placed at that angle. Rotors of one design turned apart in phase, such as intermeshing or tandem rotors, are Clones with their own Rotate. A counter-rotating rotor also needs the opposite hand. A Clone cannot be reversed apart from its original, so flip it instead (XForm tab, Flip) in a plane that contains the shaft.
The OpenVSP API has functions specific to propellers, both for modeling a propeller and for querying how its blades move.
For modeling, a script sets up a propeller from a preset, edits its blade curves, and reads and writes BEM files:
| Call | Purpose |
|---|---|
InitPropPreset |
Apply a preset,
PROP_PRESET_PROPELLER or
PROP_PRESET_HELICOPTER. |
SetPCurve,
PCurveConvertTo, PCurveGetType,
PCurveGetTVec, PCurveGetValVec,
PCurveDeletePt, PCurveSplit |
Read and edit the blade curves. |
ApproximateAllPropellerPCurves |
Refit every curve as a cubic Bezier, as Approximate All does. |
ResetPropellerThickness |
Rebuild the Thick curve from the sections. |
SetBEMPropID,
ExportFile with EXPORT_BEM |
Write a BEM file (see BEM Files). |
ImportFile with
IMPORT_BEM |
Make a propeller from a BEM file. |
A script finds a parm by name and group. The propeller's design
parms, the fold, Feather and the blade spacing are in the
Design group; the flap, lag and feather bearing,
PsiRef, the motion mode, the harmonics and the per-blade flap,
lag and feather angles (Feather_n too) are in
Articulation. The modes are set by these parms:
| Parm | Group | Values |
|---|---|---|
PropMode |
Design | PROP_BLADES,
PROP_BOTH, PROP_DISK |
UseBeta34Flag |
Design | 1: Beta 3/4 drives the pitch; 0: Feather does |
BladeMotionMode |
Articulation | PROP_BLADE_COLLECTIVE,
PROP_BLADE_INDIVIDUAL,
PROP_BLADE_HARMONIC |
NumHarmonics |
Articulation | 0 to 20 |
IndividualBladeFoldFlag |
Design | 0 or 1 |
BladeAzimuthMode |
Design | PROP_AZI_UNIFORM,
PROP_AZI_FREE, PROP_AZI_BALANCED |
AFLimit |
Design | r_0, the activity factor's lower limit |
SetPCurve and the other curve calls take the curve as
PROP_CHORD, PROP_TWIST,
PROP_RAKE, PROP_SKEW, PROP_SWEEP,
PROP_THICK, PROP_CLI, PROP_AXIAL
or PROP_TANGENTIAL, and its type as LINEAR,
PCHIP or CEDIT.
For the motion, a script asks where each blade sits at any rotation angle, so another program can move its own geometry or mesh with the blades:
| Call | Purpose |
|---|---|
GetPropBladeXForm |
The matrix from the blade as built to where it sits in the model. |
GetPropBladeMotionXForm |
The matrix from where a blade sits at to where it sits at an angle. |
GetGeomDisplayTessPnts |
The points of the tessellation the 3D view shows. |
GetPropBladeXForm( geom_id, j, k, rotate ) gives the
whole chain above for blade
,
followed by the Geom's flip
,
its placement
and its symmetric copy
,
with rotate in place of Rotate:
Harmonic angles are evaluated at each blade's
,
and rotate may be any angle, beyond Rotate's limits.
GetPropBladeMotionXForm gives
,
which moves geometry already built around the blade where it sits at
-- a mesh, say -- to where it sits at
.
A program that runs an unsteady simulation asks for these at each time
step.
The blade index
counts from 0, so blade 1 is
.
The symmetric copy
is numbered as DegenGeom's sym_copy_index. The matrices
reflect the last Update; call Update after changing any parameter
(Figure 33).

Figure 33. A rotor placed away from the origin and turned by YRot 90. Blade 1 as built (lilac) sits at the origin in its blade axes; carries it, and its axes, to where it sits at . is the placement alone, the turn of 90 degrees about and the move; carries the blade from (grey, with grey axes; its is the same as at ) to .
Models saved before OpenVSP 3.56 open as they were saved, and some propellers change shape:
A BEM (blade element) file holds the generic information a blade element analysis needs: the rotor's diameter, blade count, pitch, precone, center and axis, the blade curves at a set of stations, and a section shape at each station. It is not written for any one blade element program; a program that reads it takes what it needs.
Exporting a propeller to a BEM file samples the curves at Num_U stations from root to tip, spaced by the root and tip clustering, and writes each section as Num_W points around an untwisted section of unit chord. The default propeller gives, shortened:
...BEM Propeller...
Num_Sections: 12
Num_Blade: 3
Diameter: 30.00000000
Beta 3/4 (deg): 20.00000000
Feather (deg): 0.00000000
Pre_Cone (deg): 0.00000000
Center: 0.00000000, 0.00000000, 0.00000000
Normal: -1.00000000, 0.00000000, 0.00000000
Radius/R, Chord/R, Twist (deg), Rake/R, Skew/R, Sweep, t/c, CLi, Axial, Tangential
0.20000000, 0.08000000, 46.75000000, 0.00000000, 0.00000000, 0.00000000, 0.50000000, 0.00000000, 0.00000000, 0.00000000
0.27272727, 0.11601803, 42.31743050, 0.00000000, 0.00000000, 0.00000000, 0.23313298, 0.51960932, 0.00000000, 0.00000000
...
1.00000000, 0.13000000, 13.00000000, 0.00000000, 0.00000000, 0.00000000, 0.03000000, 0.20000000, 0.00000000, 0.00000000
Section 0 X, Y
1.00000000, 0.00000000
0.99440629, -0.03748521
...
Importing a BEM file makes a new propeller. It takes the diameter, blade count, Beta 3/4 (Feather then follows from it and the twist), precone and placement from the file, and every curve, as a PCHIP spline, through the file's stations. It keeps only a root and a tip section, both NACA 16-series; the section shapes in the file are not read.
A BEM file often lists many stations, many more than OpenVSP's smooth
blade curves need, and each becomes a point on every curve, which slows
every update. Approximate All on the Blade tab
(ApproximateAllPropellerPCurves in the API) refits each
curve as a cubic Bezier with far fewer points, which is easier to edit:
a file with 41 stations gives a Chord curve of 16 points, a Twist curve
of 4, and Thick and CLi curves of 10.