Python bindings for the Open Asset Import Library (ASSIMP)
Project description
A simple Python wrapper for Assimp using ctypes to access the library. Requires Python >= 2.6.
Python 3 support is mostly here, but not well tested.
Note that pyassimp is not complete. Many ASSIMP features are missing.
USAGE
Complete example: 3D viewer
pyassimp comes with a simple 3D viewer that shows how to load and display a 3D model using a shader-based OpenGL pipeline.
To use it, from within /port/PyAssimp:
$ cd scripts $ python ./3D-viewer <path to your model>
You can use this code as starting point in your applications.
Writing your own code
To get started with pyassimp, examine the simpler sample.py script in scripts/, which illustrates the basic usage. All Assimp data structures are wrapped using ctypes. All the data+length fields in Assimp’s data structures (such as aiMesh::mNumVertices, aiMesh::mVertices) are replaced by simple python lists, so you can call len() on them to get their respective size and access members using [].
For example, to load a file named hello.3ds and print the first vertex of the first mesh, you would do (proper error handling substituted by assertions …):
from pyassimp import load
with load('hello.3ds') as scene:
assert len(scene.meshes)
mesh = scene.meshes[0]
assert len(mesh.vertices)
print(mesh.vertices[0])
Another example to list the ‘top nodes’ in a scene:
from pyassimp import load
with load('hello.3ds') as scene:
for c in scene.rootnode.children:
print(str(c))
INSTALL
Install pyassimp by running:
$ python setup.py install
PyAssimp requires a assimp dynamic library (DLL on windows, .so on linux, .dylib on macOS) in order to work. The default search directories are:
the current directory
on linux additionally: /usr/lib, /usr/local/lib, /usr/lib/x86_64-linux-gnu
To build that library, refer to the Assimp master INSTALL instructions. To look in more places, edit ./pyassimp/helper.py. There’s an additional_dirs list waiting for your entries.
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
File details
Details for the file pyassimp-5.2.5.tar.gz
.
File metadata
- Download URL: pyassimp-5.2.5.tar.gz
- Upload date:
- Size: 101.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 107d93780e4300d70698c4291c54dd32ff78e8cf0dafd56ac1801cd0260c36f3 |
|
MD5 | 7f244e59e537849051b61a3c3b5cbb18 |
|
BLAKE2b-256 | 995ff5577fe7f48be4d2bdf7e3284285469da80b99e4a4c34d4c927466317053 |