The easiest way to calculate the projected/frontal area of an STL.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.