Skip to content
GuideIntermediate12 min

Export OBJ and MTL for mesh workflows

Choose units, axes, origin, structure and appearance for OBJ, keep its companion files together and import it reliably in common tools.

Applies to
Current Prism release · Navisworks Manage 2025–2027
Availability
Free and higher
For
Visualization, DCC and real-time teams
Last reviewed

What the OBJ package contains

  • Triangulated faces plus optional source lines and points.
  • Per-corner normals according to the selected normal mode.
  • A sibling .mtl with diffuse color and opacity when materials are enabled.
  • Stable ASCII-safe object/group names for exported elements and source organization.
  • Optional JSON/CSV attributes joined to emitted group names when the requested companion is verifiably available.

Choose units, axes and structure

Receiver table
ReceiverPrism unit / axisImport check
BlenderMetres, Z-upScale 1; avoid an extra up-axis rotation.
3ds MaxMetres or centimetres, Z-upMatch the OBJ import unit.
RhinoMetres or millimetres, Z-upSet document/import units first.
UnityMetres, Y-upScale 1; Prism performs the axis conversion.
Unreal EngineCentimetres, Z-upScale 1 when one Unreal unit is one centimetre.
  • Use Federation center for smaller, more stable coordinates in DCC and real-time tools; Preserve world only when absolute coordinates are required.
  • Use Source model for manageable organization, Element for object-level selection, or Single mesh when selection structure is not needed.
  • Keep triangle ratio at 100% for the first compatibility test. Lower values apply deterministic simplification and rebuild normals.

Keep the output set together

  • Do not separate or independently rename the .obj and .mtl; the OBJ references the MTL by base name.
  • Keep requested .attributes.json/.csv companions with the same delivery record.
  • For per-source output, import all files under the same origin and scale. Prism centers the federation once so the files remain aligned.
  • Include the report so the receiver can see unit, axis, removed origin, structure and simplification choices.

Troubleshoot OBJ import

Symptom table
SymptomCauseFix
100× or 1000× scale errorReceiver assumes a different unitSet the import unit to the Prism choice and remeasure a known length.
No colorsMTL missing or material import disabledPlace the matching .mtl beside .obj and enable material loading.
Transparency looks opaqueReceiver render mode ignores MTL opacityEnable its transparent material mode; Prism writes opacity as d.
Model is unstable/far awayLarge preserved world coordinatesUse Federation center and retain the removed origin in the report.
File is very largeOBJ expands repeated placementsUse source splits or a target with instancing; reduce triangles only after fidelity testing.

Related guidance