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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file parea-0.1.1.tar.gz.

File metadata

  • Download URL: parea-0.1.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for parea-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6439e804b31a5bf6a4ae7bd51aecd2293b1a466b857b632b368326e568322426
MD5 ce20155c303d6d356daa7c620fe1cba5
BLAKE2b-256 7ae16ab2efe9d75ec5c1bc1b60ca1c29d020f6e67417d9559947a259302b5283

See more details on using hashes here.

File details

Details for the file parea-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: parea-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for parea-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8759fd5e599237ae89bb480ff67bc9b64f466d08621873ab329652fb0e7596c
MD5 1a7625a276e69d3b8fd0a2f077cd0a8e
BLAKE2b-256 7db9b4169be6809819fada2ed66715f28000eef722de6168a31ee4c9c47ced47

See more details on using hashes here.

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