Go to file
Thomas FORGIONE d5d3bc78ed
Added OFF files support
2016-12-21 12:16:49 +01:00
assets Fixed problems, textured cube 2016-12-02 09:53:07 +01:00
d3 Added OFF files support 2016-12-21 12:16:49 +01:00
.gitignore Ignore models 2016-11-29 15:47:14 +01:00
LICENSE Updated license 2016-11-29 15:56:05 +01:00
README.md Added OFF files support 2016-12-21 12:16:49 +01:00
convert.py Added up vector management 2016-11-30 15:37:58 +01:00
viewer.py Verbose output if option 2016-12-02 10:13:16 +01:00

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 other
  • viewer.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
  • 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