import shutil
name='pymeshio'
-version='2.1.0'
-short_description='pure python 3d model io library'
+version='2.2.4'
+short_description='3d model io library for mqo, pmd, pmx, vmd and vpd'
long_description='''\
`pymeshio` is a package for 3d model io.
create for blender import/expoert plugin backend.
Features
--------
-* read/write Metasequioa mqo format
+* read Metasequioa mqo format
* read/write MikuMikuDance pmd format
-* read-only MikuMikuDance pmx format
-* read/write MikuMikuDance vmd format
-* read/write MikuMikuDance vpd format
+* read/write MikuMikuDance pmx format
+* read MikuMikuDance vmd format
+* read MikuMikuDance vpd format
+* convert MikuMikuDance pmd format to MikuMikuDance pmx format
+* blender-2.6 import/export plugin
-
-Setup
------
+Install
+-------
::
$ easy_install pymeshio
-----
::
- >>> import pymeshio.pmx.reader
- >>> m=pymeshio.pmx.reader.read('resources/初音ミクVer2.pmx')
+ >>> import pymeshio.pmd.reader
+ >>> m=pymeshio.pmd.reader.read_from_file('resources/初音ミクVer2.pmd')
>>> print(m)
+ <pmd-1, "初音ミク" vertex: 12354, face: 68883, material: 17, bone: 140 ik: 7, skin: 31>
+ >>> import pymeshio.converter
+ >>> pmx_model=pymeshio.converter.pmd_to_pmx(m)
+ >>> print(pmx_model)
<pmx-2.0 "Miku Hatsune" 12354vertices>
- >>> print(dir(m))
- ['__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', 'bones', 'comment', 'display_slots', 'english_comment', 'english_name', 'indices', 'joints', 'materials', 'morphs', 'name', 'rigidbodies', 'textures', 'version', 'vertices']
+ >>> import pymeshio.pmx.writer
+ >>> import io
+ >>> pymeshio.pmx.writer.write(io.open("out.pmx", "wb"), pmx_model)
+ True
+
ToDo
--------
-* pmx writer
-* pmd to pmx converter
-* blender importer for pmx
-* blender exporter for pmx
+* importer for pmx
+* exporter for pmx
-History
+New
-------
-2.1.0 (2011-10-02)
-
-* refactoring api
-
-2.0.2 (2011-10-01)
+2.2.4 (2011-10-13)
~~~~~~~~~~~~~~~~~~
-* fix for Python 2.7(remove anotation)
-* fix pymeshio.pmx.Bdef1.bone_index to index0
-* fix pymeshio.pmx.Material.index_count to vertex_count
-* add pmx example
+* bug fix(__init__ param)
+* fix blender-2.5 plugin for blender-2.6
-2.0.0 (2011-9-30)
-~~~~~~~~~~~~~~~~~~
-* add pmx loader
-
-1.9.2 (2011-9-29)
-~~~~~~~~~~~~~~~~~~
-* add tkinter viewer sample
-
-1.9.1 (2011-9-23)
-~~~~~~~~~~~~~~~~~~
-* register pypi
'''
classifiers=[
]
# copy pymeshio dir for blender25 plugin
-PYMESHIO_DIR_IN_BLENDER='blender25-meshio/pymeshio'
-if os.path.exists(PYMESHIO_DIR_IN_BLENDER):
- shutil.rmtree(PYMESHIO_DIR_IN_BLENDER)
-print("copy pymeshio to blender-25")
-shutil.copytree('pymeshio', PYMESHIO_DIR_IN_BLENDER)
+PYMESHIO_DIR_IN_BLENDER25='blender25-meshio/pymeshio'
+if os.path.exists(PYMESHIO_DIR_IN_BLENDER25):
+ shutil.rmtree(PYMESHIO_DIR_IN_BLENDER25)
+print("copy pymeshio to %s" % PYMESHIO_DIR_IN_BLENDER25)
+shutil.copytree('pymeshio', PYMESHIO_DIR_IN_BLENDER25)
+# copy pymeshio dir for blender26 plugin
+PYMESHIO_DIR_IN_BLENDER26='blender26-meshio/pymeshio'
+if os.path.exists(PYMESHIO_DIR_IN_BLENDER26):
+ shutil.rmtree(PYMESHIO_DIR_IN_BLENDER26)
+print("copy pymeshio to %s" % PYMESHIO_DIR_IN_BLENDER26)
+shutil.copytree('pymeshio', PYMESHIO_DIR_IN_BLENDER26)
+
setup(
name=name,
test_suite='nose.collector',
tests_require=['Nose'],
zip_safe = (sys.version>="2.5"), # <2.5 needs unzipped for -m to work
+ entry_points = {
+ 'console_scripts': [
+ 'pmd2pmx = pymeshio.main:pmd_to_pmx',
+ ]
+ }
)