Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/admesh/python-admesh
Cython wrapper around admesh
https://github.com/admesh/python-admesh
Last synced: 12 days ago
JSON representation
Cython wrapper around admesh
- Host: GitHub
- URL: https://github.com/admesh/python-admesh
- Owner: admesh
- License: gpl-2.0
- Created: 2014-01-28T20:49:42.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2018-06-24T18:09:59.000Z (over 6 years ago)
- Last Synced: 2024-10-08T00:55:07.483Z (about 1 month ago)
- Language: Python
- Size: 130 KB
- Stars: 9
- Watchers: 5
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- License: COPYING
Awesome Lists containing this project
README
ADMesh bindings for Python
==========================.. image:: https://img.shields.io/pypi/v/admesh.svg
:target: https://pypi.python.org/pypi/admesh.. image:: https://img.shields.io/travis/admesh/python-admesh/master.svg
:target: https://travis-ci.org/admesh/python-admesh.. image:: https://img.shields.io/github/license/admesh/python-admesh.svg?style=flat
:target: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html.. image:: https://img.shields.io/pypi/pyversions/admesh.svg
:target: https://pypi.python.org/pypi/admesh.. image:: https://img.shields.io/pypi/implementation/admesh.svg
:target: https://pypi.python.org/pypi/admeshThis module provides bindings for the `ADMesh `_ library. It lets you manipulate 3D models in binary or ASCII STL format and partially repair them if necessary.
Installation
------------There are wheels available for Linux and macOS X. All you need to do is:
.. code:: sh
pip install admesh
If you have a platform not supported by the above,
you'll need to install the C `ADMesh `_ library.This release is designed for ADMesh 0.98.x. Follow the instructions there. Then you can install this as usual with **one** of the following:
.. code:: sh
./setup.py install
python3 setup.py install # for Python 3
pip install admesh # install directly from PyPIIn case your ADMesh library is located in non-standard location, you'll have to tell the compiler and linker where to look:
.. code:: sh
LDFLAGS='-L/path/to/library' CFLAGS='-I/path/to/header' ./setup.py install
Usage
-----Use the ``Stl`` class provided.
.. code:: python
import admesh
# load an STL file
stl = admesh.Stl('file.stl')
# observe the available methods
help(stl)
# read the stats
stl.stats
# see how many facets are there
len(stl)
# walk the facets
for facet in stl:
# get the normal
facet['normal']
# walk the vertices
for vertex in facet['vertex']:
# read the coordinates
vertex['x']
vertex['y']
vertex['z']# add another set of facets
# every facet is a tuple (vertices, normal) or a dict
stl.add_facets([
(((0, 0, 0), (0, 1, 0), (0, 0, 1)), (1, 0, 0)),
{'vertex': [{'x': 0, 'y': 0, 'z': 0},
{'x': 1, 'y': 0, 'z': 0},
{'x': 0, 'y': 0, 'z': 1}],
'normal': {'x': 0, 'y': 1, 'z': 0}},
])Note that all C ADMesh functions start with ``stl_`` prefix and the Python methods of this module do not. Also note that not all C ADMesh functions are provided, because some would require more complicated approach and are not considered worthy. In case you are missing some functions, create `new issue `_.