Skip to main content

Python bindings for ADMesh, STL maipulation library

Project description

https://img.shields.io/pypi/v/admesh.svg https://img.shields.io/travis/admesh/python-admesh/master.svg https://img.shields.io/github/license/admesh/python-admesh.svg?style=flat https://img.shields.io/pypi/pyversions/admesh.svg https://img.shields.io/pypi/implementation/admesh.svg

This 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:

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:

./setup.py install
python3 setup.py install # for Python 3
pip install admesh # install directly from PyPI

In case your ADMesh library is located in non-standard location, you’ll have to tell the compiler and linker where to look:

LDFLAGS='-L/path/to/library' CFLAGS='-I/path/to/header' ./setup.py install

Usage

Use the Stl class provided.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
admesh-0.98.9-cp27-cp27m-macosx_10_6_intel.whl (100.8 kB) Copy SHA256 hash SHA256 Wheel cp27 Jun 24, 2018
admesh-0.98.9-cp27-cp27m-manylinux1_i686.whl (168.9 kB) Copy SHA256 hash SHA256 Wheel cp27 Jun 24, 2018
admesh-0.98.9-cp27-cp27m-manylinux1_x86_64.whl (185.1 kB) Copy SHA256 hash SHA256 Wheel cp27 Jun 24, 2018
admesh-0.98.9-cp27-cp27mu-manylinux1_i686.whl (168.9 kB) Copy SHA256 hash SHA256 Wheel cp27 Jun 24, 2018
admesh-0.98.9-cp27-cp27mu-manylinux1_x86_64.whl (185.2 kB) Copy SHA256 hash SHA256 Wheel cp27 Jun 24, 2018
admesh-0.98.9-cp34-cp34m-macosx_10_6_intel.whl (101.9 kB) Copy SHA256 hash SHA256 Wheel cp34 Jun 24, 2018
admesh-0.98.9-cp34-cp34m-manylinux1_i686.whl (189.3 kB) Copy SHA256 hash SHA256 Wheel cp34 Jun 24, 2018
admesh-0.98.9-cp34-cp34m-manylinux1_x86_64.whl (207.6 kB) Copy SHA256 hash SHA256 Wheel cp34 Jun 24, 2018
admesh-0.98.9-cp35-cp35m-macosx_10_6_intel.whl (95.0 kB) Copy SHA256 hash SHA256 Wheel cp35 Jun 24, 2018
admesh-0.98.9-cp35-cp35m-manylinux1_i686.whl (186.9 kB) Copy SHA256 hash SHA256 Wheel cp35 Jun 24, 2018
admesh-0.98.9-cp35-cp35m-manylinux1_x86_64.whl (203.8 kB) Copy SHA256 hash SHA256 Wheel cp35 Jun 24, 2018
admesh-0.98.9-cp36-cp36m-macosx_10_6_intel.whl (94.9 kB) Copy SHA256 hash SHA256 Wheel cp36 Jun 24, 2018
admesh-0.98.9-cp36-cp36m-manylinux1_i686.whl (187.8 kB) Copy SHA256 hash SHA256 Wheel cp36 Jun 24, 2018
admesh-0.98.9-cp36-cp36m-manylinux1_x86_64.whl (204.9 kB) Copy SHA256 hash SHA256 Wheel cp36 Jun 24, 2018
admesh-0.98.9-cp37-cp37m-macosx_10_6_intel.whl (94.7 kB) Copy SHA256 hash SHA256 Wheel cp37 Jun 24, 2018
admesh-0.98.9-cp37-cp37m-manylinux1_i686.whl (188.3 kB) Copy SHA256 hash SHA256 Wheel cp37 Jun 24, 2018
admesh-0.98.9-cp37-cp37m-manylinux1_x86_64.whl (205.0 kB) Copy SHA256 hash SHA256 Wheel cp37 Jun 24, 2018
admesh-0.98.9.tar.gz (16.5 kB) Copy SHA256 hash SHA256 Source None Jun 24, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page