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
Metadata
Release files for parea 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parea-0.1.1.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parea-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.5 kB
Release files / parea-0.1.1.tar.gz
| Download URL | parea-0.1.1.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6439e804b31a5bf6a4ae7bd51aecd2293b1a466b857b632b368326e568322426
|
|
BLAKE2b-256 checksum How to use checksums |
7ae16ab2efe9d75ec5c1bc1b60ca1c29d020f6e67417d9559947a259302b5283
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|
Release files / parea-0.1.1-py3-none-any.whl
| Download URL | parea-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b8759fd5e599237ae89bb480ff67bc9b64f466d08621873ab329652fb0e7596c
|
|
BLAKE2b-256 checksum How to use checksums |
7db9b4169be6809819fada2ed66715f28000eef722de6168a31ee4c9c47ced47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|