a8d809a7ea | ||
---|---|---|
assets | ||
d3 | ||
.gitignore | ||
LICENSE | ||
README.md | ||
convert.py | ||
viewer.py |
README.md
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.py
that converts any type of model to any otherviewer.py
which 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-pip
for 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