OBJ File : Color 3D Printing File Format

An OBJ file, or .obj file, is a very common type of 3D file. It is often used as an exchange format by many software programs as an alternative to STL files (.stl files) when information about colours or materials is desirable.

The OBJ file format was developed by Wavefront Technologies (designers of 3D Maya modelling software) for its Advanced Visualizer package.

It is very frequently used and has become one of the primary exchange file formats between software.

OBJ file representing a cube : r epresentation of a cube with a 1-unit side and its obj. file code

OBJ file format

The OBJ file formatuses ASCII format (plain text) with a simple syntax. The main sections of OBJ files contain vertex lines of type (type v), texture coordinates (type vp), normal coordinates (type vn) and faces (type f).

Materials and colours

The OBJ file may be accompanied by a MTL (Material Library) file, which references the materials and colours used.

On sculpteo.com, for example, the MTL file and the OBJ file can be downloaded together into an archive file (ZIP file for example) to use the texture, colour and material information. It’s one of the best formats for printing multi-coloured material.

Primary differences compared to STL files

Often used as an alternative to STL files, OBJ files differ:

  • Because they allow colours, textures and materials (including texture coordinates) to be encoded;
  • Because they can process non-triangular faces (quadrilaterals, etc.), along with the challenge that these faces must remain flat;
  • Because they encode 3D mesh topology, which is the faces' proximity to each other.

Where to find OBJ files

You can find free OBJ files or OBJ files for sale on 3D file downloading platforms like Turbosquid or CGTrader.

How to open an OBJ file

Opening a 3D file can be done using file conversion software. Blender is one possible solution.  More simply, you can also send the OBJ file to the Sculpteo platform , which imports these files directly.

Example of code to process OBJ files

The simple, textual structure of an OBJ file makes it easy for programming languages to handle it.  For example, it is very easy to open an OBJ file in python .