Skip to main content

The easiest way to calculate the projected/frontal area of an STL.

Project description

gh-actions-ci GitHub license PyPI pyversions PyPi Version

Most lift and drag calculations require the use of a frontal/projected area. This is normally not that big of a deal, especially when dealing with nice clean CAD files. Unfortunately, in fast-paced design environments (motorsport especially), you'll often get a collection of STL geometry files instead. This is annoying for a number of reasons, but mainly because there are several methods for computing the frontal area of an STL and all of them involve a fairly tedious/lengthy process. pArea aims to solve this with a single command.

Installation

pip install parea

Usage

As a simple example, the cube STL located within the tests directory has a projected area of 4.0 along all three coordinate axes. To validate this, simply run the following (assuming you've downloaded cube_ascii.stl into your current working directory):

parea -stl cube_ascii.stl -x

For models comprised of multiple STL files, simply separate the file names with a space:

parea -stl file_1.stl file_2.stl file_3.stl -x

Or use shell-style wildcards:

parea -stl file_*.stl  -x

When simulating ground vehicles with non-rigid wheels, you will need to account for the tire deformation and subsequent ride height drop. This can be facilitated using the -floor flag followed by a floor height float value. Note that floor height is in reference to the vertical axis of the specified projection plane.

parea -stl file_*.stl  -x -floor 0.0125

Since the projection vector is x, our projection plane is therefore yz yielding a projected area based off all geometry above z=0.0125.

Options

vectors: -x, -y, -z

planes: -yz/-zy, -xz/-zx, -xy/-yx

References

  • Computational Geometry: Algorithms and Applications (3rd Edition) by Mike de Borg, Otfried Cheong, Mark van Kreveld, and Mark Overmars
  • Computational Geometry in C (2nd Edition) by Joseph O'Rourke
  • Finite Element Mesh Generation by Daniel S.H. Lo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parea-0.1.1.tar.gz (5.2 kB view hashes)

Uploaded Source

Built Distribution

parea-0.1.1-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page