bladex.blade.Blade.apply_transformations

Blade.apply_transformations(reflect=True)[source]

Generate a bottom-up constructed propeller blade based on the airfoil transformations, see mytransformation_operations.

The order of the transformation operations is as follows:

  1. Translate airfoils by reference points into origin.
  2. Scale X, Y coordinates by a factor of the chord length. Also reflect the airfoils if necessary.
  3. Rotate the airfoils counter-clockwise according to the local pitch angles. Beware of the orientation system.
  4. Translate airfoils along X-axis by a magnitude of the local rake. Perform another translation for the skew-induced rake.
  5. Translate airfoils along Y-axis by a magnitude of the skewness.
  6. Transform the 2D airfoils into cylindrical sections, by laying each foil on a cylinder of radius equals to the section radius, and the cylinder axis is the propeller axis of rotation.
Parameters:reflect (bool) – if true, then reflect the coordinates of all the airfoils about both X-axis and Y-axis. Default value is True.

We note that the implemented transformation operations with the current Cartesian coordinate system shown in mytransformation_operations assumes a right-handed propeller. In case of a desired left-handed propeller the user can either change the code for the negative Z-coordinates in the cylindrical transformation (i.e. _planar_to_cylindrical private method), or manipulating the orientation of the generated CAD with respect to the hub.