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.