Best Settings for OBJ Export from SolidWorksExporting OBJ files from SolidWorks is a common step when moving models into visualization tools, game engines, or other 3D applications that prefer mesh formats. OBJ is a simple, widely supported format that stores geometry, normals, texture coordinates, and material references (via .mtl files). To get predictable, high-quality results you need to set export options correctly and prepare your SolidWorks model for conversion from parametric surfaces/solids to polygonal meshes.
This article covers: preparing your model, SolidWorks export options, recommended settings for common workflows (rendering, real-time engines, 3D printing preview), handling textures and materials, troubleshooting artifacts, and tips for downstream import.
1. Prepare the SolidWorks model
Good results start before you hit Export.
- Clean geometry: remove tiny features, hidden sketches, construction geometry, and unnecessary internal bodies. These can create dense or noisy meshes.
- Combine bodies when appropriate: multiple small bodies can create separate shells in OBJ; merge if you want a single mesh.
- Simplify assemblies: suppress or exclude components not needed for the target use (e.g., internal fasteners for visualization).
- Apply appearance and textures in SolidWorks only if you intend to export materials; otherwise apply them later in the target tool.
- Ensure correct units: know the unit scale both in SolidWorks and the application that will import the OBJ.
2. Choose the right export path
SolidWorks offers different ways to export:
- File > Save As > Save as type: Wavefront (*.obj) — native OBJ exporter.
- Use an intermediate tool (e.g., Blender, MeshLab) when you need finer control over mesh repair, advanced UV editing, or to generate tangents/bitangents.
- Third‑party add-ins/plugins: some exporters provide better UV handling or preserve more material properties.
3. SolidWorks OBJ export options — what they mean
When you choose Wavefront (*.obj) and click Options, you’ll see settings affecting tessellation and output:
- Output as: “Faces” or “Vertices” — usually leave default (faces).
- Resolution / Tessellation tolerance: controls triangle count and approximation of curved surfaces.
- Deviation and angle settings: Deviation sets maximum distance between the true surface and the polygonal mesh; angle controls smoothing by splitting facets where curvature exceeds the angle threshold.
- Export normals: includes vertex normals which improve shading when imported.
- Export texture coordinates: writes UV data into the OBJ file (and generates MTL referencing image files) — only available if materials/appearances with textures exist.
- Export colors/appearance: writes material references to .mtl (may require separate image files for textures).
- Output units: choose units consistent with the target application to avoid scaling issues.
4. Recommended settings by target workflow
Below are practical presets depending on where the OBJ will be used.
Rendering / High-quality visualization
- Tolerance / Deviation: Small — e.g., 0.001 * model unit (mm/in), or use the finest preset.
- Angle: Low (10°–15°) to preserve curvature with more triangles.
- Export normals: On.
- Export texture coordinates: On (if you used textures).
- Purpose: retain smooth surfaces and accurate normal interpolation for photoreal renders.
Real-time engines (Unity, Unreal)
- Tolerance / Deviation: Moderate — balance between detail and performance; e.g., 0.01–0.1 model unit depending on size.
- Angle: Moderate (15°–30°).
- Export normals: On (for correct shading).
- Export texture coordinates: On (for material mapping).
- Optimize afterward: decimate or retopologize in Blender or a game-asset pipeline tool to produce efficient LODs.
3D printing preview / quick meshes
- Tolerance / Deviation: Coarse to moderate; printing slicers don’t need extreme mesh density—use what shows geometry accurately.
- Angle: Higher (30°–45°) acceptable.
- Export normals: Optional.
- Export texture coordinates: Off (textures irrelevant for printing).
- Then export to STL for final print slicing; OBJ is useful for previewing multi-material appearances.
CAD-to-CAD or precision machining (avoid OBJ if possible)
- OBJ is not ideal for manufacturing because it’s a tessellated format. Use STEP/IGES for preserving exact geometry. If you must use OBJ, choose extremely small deviation values and low angle to maximize surface fidelity.
5. Textures, UVs, and Materials
- SolidWorks stores appearances and textures differently than typical DCC tools. If you applied image-based textures in SolidWorks, ensure they are image files accessible during export.
- When exporting with texture coordinates enabled, SolidWorks will generate an .mtl file and reference texture image files by name. Make sure to copy those texture images alongside the OBJ and MTL.
- SolidWorks’ UV unwrapping is simple; for complex unwrap needs (seams, optimized texel density), export geometry to Blender or a UV tool and re-UV there.
- If you just need vertex colors, check whether your version of SolidWorks supports vertex color export to OBJ (many versions do not). You may need to bake color into textures externally.
6. Troubleshooting common issues
Problem: jagged shading / faceted look
- Fix: enable export normals and reduce angle threshold; increase tessellation fidelity.
Problem: huge file size / too many triangles
- Fix: increase deviation and angle values (coarser mesh), remove minor features, use decimation tools.
Problem: missing textures or incorrect paths
- Fix: ensure the .mtl references correct filenames; put texture images in same folder as the OBJ and MTL; open MTL and correct paths if necessary.
Problem: inverted normals or two-sided faces
- Fix: recalculate/reverse normals in target application or re-export with normals enabled.
Problem: seams or split meshes where you wanted a single surface
- Fix: combine bodies, ensure consistent appearances across adjacent faces, or weld vertices in a mesh editor.
7. Post-export workflow tips
- Validate the OBJ in a mesh viewer (Blender, MeshLab) before importing to the final application.
- Use a mesh clean-up step: remove isolated vertices, duplicate faces, non-manifold edges.
- Generate LODs for real-time use; bake high-res normals/ambient occlusion onto lower-res meshes if needed.
- Keep an export checklist: units, normals, UVs, texture files, MTL, and versioning.
8. Example export presets (quick reference)
- High-quality visualization: Deviation = 0.001, Angle = 10°, Normals = On, UVs = On.
- Real-time/game: Deviation = 0.01–0.1, Angle = 15°–25°, Normals = On, UVs = On.
- 3D print preview: Deviation = 0.05–0.5, Angle = 30°–45°, Normals = Off, UVs = Off.
9. When to use an intermediate tool
Use Blender, MeshLab, or dedicated converters when you need:
- Advanced UV unwrapping or seam control.
- Decimation with feature preservation.
- Retopology and clean quad-based meshes for sculpting or animation.
- Baking normal maps, AO, or other texture maps from high-res CAD surfaces.
10. Final notes
- OBJ export quality depends on tessellation tolerance, angle settings, and whether normals/UVs are exported.
- Choose settings based on the target workflow (rendering vs game vs printing), and validate the result in the destination tool.
- When precision matters, prefer native CAD exchange formats (STEP/IGES) and only convert to OBJ when polygonal geometry is required.
If you tell me your target application (Unity, Blender render, Unreal, or 3D print slicer) and the approximate size of your model, I can suggest specific numeric tolerance values and an exact step-by-step export checklist.
Leave a Reply