Generalized cylindrical shell library for Python.
Project description
gcs
is a Python library for creating generalized cylindrical shells (GCS).
GCS are parameterized by 11 values:
Syntax | Description |
---|---|
c4_base |
The parameter controlling the size and shape of the base $4$-lobe feature. |
c8_base |
The parameter controlling the size and shape of the base $8$-lobe feature. |
c4_top |
The parameter controlling the size and shape of the top $4$-lobe feature. |
c8_top |
The parameter controlling the size and shape of the top $8$-lobe feature. |
twist_linear |
The rotation (rad) of the top. This creates a linear twist between the base and top. |
twist_amplitude |
The amplitude (rad) of the oscillating twist between the base and top. |
twist_cycles |
The number of cycles of the oscillating twist between the base and top. |
perimeter_ratio |
The ratio between the top and base perimeters. |
height |
The height (mm). |
mass |
The mass (g). |
thickness |
The wall thickness (mm). |
c4
and c8
Relationship
- Adopted from Overvelde and Bertoldi, 2014
twist_linear
, twist_amplitude
, and twist_cycles
Relationship
Download
gcs
requires Python version 3.8 (or higher). To install, run the command:
pip install gcs-shape
Requirements
- bentley-ottmann (version: 7.3.0)
- mapbox_earcut (version: 1.0.0 or higher)
- numpy (version: 1.21.5 or higher)
- numpy-stl (version: 2.17.1 or higher)
- pandas (version: 1.4.1 or higher)
- scipy (version: 1.7.3 or higher)
Supported Operating Systems
gcs
is operating system independent. The package has been tested on the following operating systems:
- MacOS Ventura 13.4.1
- Ubuntu 22.04
- Windows 10
Quickstart
import gcs
# Create a generalized cylindrical shell
shape = gcs.GCS(c4_base=0.3,
c8_base=-0.2,
c4_top=0.4,
c8_top=-0.3,
twist_linear=2,
twist_amplitude=0.05,
twist_cycles=3,
perimeter_ratio=1.5,
height=20,
mass=2.1,
thickness=0.48)
# Assert the shape is valid
print(shape.valid)
# Save shape to STL file
gcs.io.save_mesh(file='shape.stl', shape=shape)
Contributing
The contribution guidelines can be found in CONTRIBUTING.md.
Maintainers
Citation
@misc{Snapp2023,
title = {Autonomous Discovery of Tough Structures},
author = {Kelsey L. Snapp and Benjamin Verdier and
Aldair Gongora and Samuel Silverman and
Adedire D. Adesiji and Elise F. Morgan and
Timothy J. Lawton and Emily Whiting and
Keith A. Brown},
year={2023},
eprint={2308.02315},
archivePrefix={arXiv},
}
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.
Source Distribution
gcs-shape-1.2.2.tar.gz
(15.2 kB
view hashes)
Built Distribution
gcs_shape-1.2.2-py3-none-any.whl
(15.2 kB
view hashes)
Close
Hashes for gcs_shape-1.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccc964aa1ff0463aa47cbf42c2cec837f7aa5042b1b4185e3d428f55806d9365 |
|
MD5 | eb6e57085ff1b59cdba032f6f1384db8 |
|
BLAKE2b-256 | 0eec7d1098ff61801c97c2bae77e955e1ffc59b70a47ceca96cfcd9679820079 |