assimp/port/PyAssimp
Faule Socke 3c02d24bf0 Fixed a bug returning not all material properties when accessing them.
Also fixed another bug occouring when no normals are provided in sample.py (lists do not have a any() method).
2013-07-28 02:10:49 +02:00
..
gen merge severin-lemaignan:for-upstream from github. This is a full rewrite of pyassimp, rendering it much easier to use. 2012-11-09 11:39:34 +00:00
pyassimp Fixed a bug returning not all material properties when accessing them. 2013-07-28 02:10:49 +02:00
scripts Fixed a bug returning not all material properties when accessing them. 2013-07-28 02:10:49 +02:00
README.md [pyassimp] Make it easier to import pyassimp 2013-03-30 14:35:21 +01:00
setup.py - add missing files from the last commit 2012-11-10 16:01:55 +00:00

README.md

PyAssimp Readme

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. In particular, only loading of models is currently supported (no export).

USAGE

To get started with pyAssimp, examine the 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 *
scene = load('hello.3ds')

assert len(scene.meshes)
mesh = scene.meshes[0]

assert len(mesh.vertices)
print(mesh.vertices[0])

# don't forget this one, or you will leak!
release(scene)

Another example to list the 'top nodes' in a scene:


from pyassimp import *
scene = load('hello.3ds')

for c in scene.rootnode.children:
    print(str(c))

release(scene)

INSTALL

Install pyassimp by running:

python setup.py install

PyAssimp requires a assimp dynamic library (DLL on windows, .so on linux :-) in order to work. The default search directories are:

  • the current directory
  • on linux additionally: /usr/lib and /usr/local/lib

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.