OBJ Reader/Writer

FME can read and write the Wavefront Obj format.

The Obj format, originally developed for use with Wavefront's Advanced Visualizer, is now used primarily to exchange 3D models between different modeling and rendering applications.

OBJ Product and System Requirements

Format

FME Platform

Operating System

Reader/Writer

FME Form

FME Flow

FME Flow Hosted

Windows 64-bit

Linux

Mac

Reader

Yes

Yes

Yes

Yes

Yes

Yes

Writer

Yes

Yes

Yes

Yes

Yes

Yes

Overview

An Obj file consists of a main .obj file, that can reference an optional Material (.mtl) file. A format specification for Obj and the optional mtl file can be found here:

A single .obj file can contain many types of geometry. However, in practice, .obj files generally contain only faces.

Obj files generally contain three-dimensional geometry. 2D data will be represented with one of the coordinates (generally y or z) being 0.0 for all geometry.

Reader Overview

The Obj reader produces FME features for geometry data in an obj file. The obj reader extracts all the geometry in an Obj file and then presents the elements one at a time to FME for further processing. Each obj element will create an FME feature.

The value for the Reader Dataset is the path to the obj file.

Writer Overview

The Obj writer creates and writes feature data to an obj file.

An existing Obj file in the folder is overwritten with the new Obj file with the same name. If the Obj file cannot be written, the translation fails.

Note  The maximum number of digits allowed after the decimal is 6. The writer will automatically truncate any extra digits.
Note  Some viewers may not correctly render OBJ files containing 64-bit precision of coordinates. The data within the OBJ file is still correct; however, if the primary concern is visualization instead of data precision, then offsetting the x,y,z coordinates such that the model's origin is moved to (0,0,0) or another point close to this should resolve the display issue.

The value for the Writer Dataset is the path to the output folder. If the output folder does not exist, then the writer will create a new folder.

An output .obj file will be created for each feature type within the specified folder.

For example, if you are writing to feature types named house and barn to dataset c:\data\obj then you will have files c:\data\obj\house.obj and c:\data\obj\barn.obj.

One common .mtl file will be created for the writer and shared by all output files. Feature type fanout is supported.

FME Knowledge Base

Search OBJ

Search 3D