model-converter
This project aims to be a simple, lightweight, and useful 3D model editor.
For the moment, only obj, off, ply ascii and stl models are supported.
Feel free to open an issue if you find anything wrong in this.
Scripts
A few utilities to manage 3D models :
convert.pythat converts any type of model to any otherviewer.pywhich is a simple script that renders a 3d model
Install
This project is written in python 3. The convert.py script is made for
needing nothing else than python. However, the viewer.py script has a few
dependencies, you'll need :
- pip (to install the other dependencies)
sudo apt-get install python3-pipfor example - PIL
sudo pip install pillow - numpy
sudo pip install numpy - pygame
sudo pip install pygame - PyOpenGL
sudo pip install pyopengl
Contributing
If you want to add a new format to this converter, it should be easy enough,
you just have to create a python file in d3/model/formats that should :
- be named after the format you want to add (e.g.
obj.py) - contain a function that tests if a filename is in the specified format (e.g.
is_obj) - contain a parser class (e.g.
OBJParser) - contain an exporter class (e.g.
OBJExporter)
About the parser
The parser should inherit the ModelParser class in the basemodel.py module.
The ModelParser class has everything needed to create a 3D model and render it.
About the exporter
The exporter should inherit the Exporter class in the basemodel.py module.
It should have a constructor that takes a ModelParser has parameter and a
__str__ method that should compute the export.
Formats
Here is the list of all the supported formats
- Wavefront
.obj - Stanford
.ply - Object File Format
.off - STL files
.stl