OBJ Writer Parameters
Spatial
Coordinate systems may be extracted from input feature data sources, may come predefined with FME, or may be user-defined. FME allows different output and input coordinate systems, and performs the required coordinate conversions when necessary.
If a coordinate system is specified in both the source format and the workspace, the coordinate system in the workspace is used. The coordinate system specified in the source format is not used, and a warning is logged. If a source coordinate system is not specified in the workspace and the format or system does not store coordinate system information, then the coordinate system is not set for the features that are read.
If a destination coordinate system is set and the feature has been tagged with a coordinate system, then a coordinate system conversion is performed to put the feature into the destination system. This happens right before the feature enters into the writer.
If the destination coordinate system was not set, then the features are written out in their original coordinate system.
If a destination coordinate system is set, but the source coordinate system was not specified in the workspace or stored in the source format, then no conversion is performed. The features are simply tagged with the output system name before being written to the output dataset.
For systems that know their coordinate system, the Coordinate System field will display Read from Source and FME will read the coordinate system from the source dataset. For most other input sources, the field will display Unknown (which simply means that FME will use default values). In most cases, the default value is all you'll need to perform the translation.
You can always choose to override the defaults and choose a new coordinate system. Select More Coordinate Systems from the drop-down menu to open the Coordinate System Gallery.
Changing a Reprojection
To perform a reprojection, FME typically uses the CS-MAP reprojection engine, which includes definitions for thousands of coordinate systems, with a large variety of projections, datums, ellipsoids, and units. However, GIS applications have slightly different algorithms for reprojecting data between different coordinate systems. To ensure that the data FME writes matches exactly to your existing data, you can use the reprojection engine from a different application.
To change the reprojection engine, Select Workspace Parameters > Spatial > Reprojection Engine. In the example shown, you can select Esri (but the selection here depends on your installed applications):
- The coordinate systems file coordsys.db in the FME installation folder contains the names and descriptions of all predefined coordinate systems.
- Some users may wish to use coordinate systems that do not ship with FME, and in those cases, FME also supports custom coordinate systems.
- Learn more about Working with Coordinate Systems in FME.
Note that the options described below are not available in all formats.
- Yes – Coordinates of all the points in the written features will be normalized to the interval [-0.5, 0.5] on the largest side of their XYZ-bounding cube. The other dimensions will be scaled proportionally. Additionally, the transformation matrix required to scale the model back to world coordinates will be written to a companion .fwt file. This can be used to improve precision of the written coordinates. The companion .fwt file will have the same name as the primary data file and will be written in the same folder. For folder-based formats, the file global.fwt will be written instead.
- No – The original coordinates will be written as provided. Coordinates will not be projected; .fwt world and .prj files will not be generated.
- Create Projection File Only – A companion .prj file containing the coordinate system and having the same name as the primary data file will be written in the same folder. For folder-based formats, the file global.prj will be written instead. Coordinates will not be projected and a world file will not be generated.
- Transform Coordinates Only – Transforms the coordinates as in the Yes option, but companion .prj and .fwt world files will not be generated.
Feature Handling
This option forces faces and lines to be written in a reverse order. This option is useful when faces are all back-faced when rendering only the front side, and you need to reverse all faces.
This option forces faces to be broken into triangles. This option is useful when faces are required to be triangles or convex for a particular OBJ viewing application.
Donuts and concave faces are always triangulated, regardless of this parameter's setting.
Controls whether the writer includes points and lines when writing to the output file. When this is set to No, point and line features will be silently dropped. Some applications do not render points and lines and others do no accept the file if it contains them (for example, Autodesk 3ds Max).
Use Existing Material File
Check this option to enable material library file handling.
When Use Existing Material File is checked, this option specifies a full path to an .mtl file to use as the Material Library (mtllib) when creating an .obj file during writing. Leave this field blank if you do not have an existing material library or do not use materials in your obj model.
When Handle Material File is selected, this parameter specifies how the material library (.mtl) file is referenced during writing:
Relative – References the .mtl file relative to the obj file. In this case, the mtl file will need to be placed in a folder that is relative to the obj file being created. The mtllib directive in the obj file will reference the mtl file using a relative path.
Copy – Makes a copy of the .mtl file and places it in the same folder with the .obj file. The mtllib directive in the obj file will reference this copy with no folder in the .mtl path reference.
Absolute – References the mtl file using a absolute location. The mtllib directive in the obj file will reference the template file using an absolute path.
Textures
Specifies the preferred format for associated texture files. This preference will be used as long as the specified format supports the properties of the texture raster; if not, it will be overridden.
Possible values are:
- Auto (default) – The writer chooses the best representation based on the incoming texture raster.
- BMP
- GIF
- JPEG
- PNG
- TIFF
- XPM
If the preferred format is ignored, a message is added to the log file. Possible reasons that the preference will be ignored include a lack of raster palette support, alpha channel support, or color depth support in the selected format.
Advanced
When set to Yes (the default), the writer creates a comment line specifying the FME version that was used to create the resulting output .obj file.
Setting this parameter to No is useful for supporting regression tests.