Git Product home page Git Product logo

aerofoil-1's Introduction

AeroFoil Logo
AeroFoil - a FreeCAD Macro

made-with-python License: AGPL v3 GitHub release (latest by date) Code style: black
Code Climate maintainability Build Status Codecov
Total alerts Language grade: Python


'AeroFoil' is a user-created macro to be used within the FreeCAD application. AeroFoil creates airfoil curves and faces using pre-defined models, algebraic functions, as well as imported DAT or CSV files.



Key Features

  • Airfoil points refinement
  • Multiple airfoil copy generation
  • 2D curves and planar face output
  • DWire/PolyLine and BSpline output
  • Sketcher workbench and Draft workbench output
  • Fully constrained sketches in Sketcher workbench
  • Split (upper and lower) airfoil curves generation
  • Ready-made NACA 4-digit and 5-digit solvers
  • Symmetric and asymmetric curve functions parser
  • DAT text file and CSV spreadsheet data parser
  • Chord length input in mm, cm, m, in., ft, and yards


Installation

In the FreeCAD software, AeroFoil can be downloaded directly using the in-built Addon Manager. You may need to download GitPython (read the relevant documentation) to automatically download the associated folder (and its accompanying files); else, resort to manual download and extraction of the AeroFoil.zip file.
AeroFoil can also be obtained directly from the FreeCAD Macros Github Repository.

In Linux, AeroFoil can be installed manually, similar to Windows installation, or by using the command terminal and its relevant commands as mentioned in the INSTALL file.

By default, the Linux command terminal can be launched by pressing the following keyboard keys simultaneously :

Control + Alt + T

In Windows, AeroFoil can be installed with the help of the following two steps :-

  1. Download the AeroFoil.zip file.
  2. Extract the ZIP file's contents into the FreeCAD User Macro directory location.

By default, the FreeCAD User Macro directory should be located at :

~/.FreeCAD/Macro


Usage

AeroFoil can be loaded by performing the following steps :-

  1. Launch the FreeCAD application.
  2. Click on the Macro menu from the Menu Bar.
  3. Click on Macros ... from the Macro sub-menus.
  4. Click on the User macros tab in the pop-up dialog box.
  5. Select AeroFoil.FCMacro.
  6. Click on the Execute button.

Once, the AeroFoil macro has been loaded, follow the instructions in the respective dialog boxes, fill in the relevant inputs, and navigate accordingly. In case of error or warning, you will automatically be notified of the same. In case you are notified to report an unexpected error, communicate the error by mentioning the FreeCAD version, tracing the steps taken, and mentioning whether (and how much) or not any ouput was generated.

Notes
(1) Performing the macro operation with custom points and refinement produces no visible changes.
(2) The AeroFoil object properties are only visible on the FreeCAD software version 0.19. On older versions, you will be shown a warning on the console. This warning will not affect the output.

For more information on the AeroFoil macro, refer to its FreeCAD Macro Wiki Page or its discussion page on the FreeCAD Forum.


Future works

  • Fix Bugs (for FreeCAD v0.18 and v0.19)
  • Attempt, if possible, a complete CodeCov Coverage
  • Get the LGTM Alerts to 0, and Code Quality to A (preferably, to A+)
  • Implement automatic parsing of files
  • Add the 'search airfoil database' feature
  • Add leading edge refinement (0c to 0.25c)
  • Add the AeroFoil icon to the dialog boxes
  • Add the AeroFoil icon to objects in Tree View
  • Convert from Part :: Feature object to Part :: FeaturePython object
  • Add a preview of the data points and a small SVG post file upload
  • Separate the 'AeroFoil' and 'AeroFoilDialog' classes into two files
  • Create a Python Console Run Command


Links

[1] Airfoil Tools contains about 1,638 different airfoils.
[2] UIUC Airfoil Coordinates Database contains nearly 1,600 different airfoils.


License

AeroFoil is made available under the GNU Lesser General Public License Version 2.1.

aerofoil-1's People

Contributors

melwyncarlo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.