ForgeFX Technical Research · July 31, 2026

CAD-to-VR Reduction Tools

ForgeFX Simulations

The immediate goal changed from an extreme close-range budget to a coherent, unattended, medium-distance VR asset. That made a practical automated result possible.

Decision: use gltfpack from meshoptimizer for reduction, with Blender only for source separation, inspection, recombination, FBX export, and visual QA. This is the first tested path that reduced the actual grader pedals without melting or spiking the geometry.
225,130source triangles
83,380delivered triangles
63%triangle reduction
4separate named pedal objects

Verified Result

Original grader pedal FBX render
Original FBX · 225,130 triangles · one monolithic mesh, 489 disconnected shells.
Reduced grader pedal FBX render
Automated output · 83,380 triangles · four named mesh objects · source scale and layout retained.
QA outcome: medium-distance perspective render passed. All four controls remain coherent; no long spikes, exploded vertices, collapsed major forms, or missing major silhouettes were visible. Fine circles and bevels are more faceted, which is acceptable at the stated viewing distance.

External Results — Installable Tool Landscape

RankToolInstall / AutomationFit for CAD → Game AssetFinding
1meshoptimizer / gltfpack
Winner
pnpm dlx [email protected]
MIT; npm and native binaries.
Purpose-built GPU mesh optimization and simplification. Permissive mode crosses attribute discontinuities; border locking protects seams.Worked on the real pedals. -sp -slb -kn -km -se 0.01 preserved visible hard-surface structure while cutting 63% overall.
2glTF Transform
Keep
pnpm dlx @gltf-transform/cli
Node CLI/API.
Excellent reproducible glTF cleanup: weld, deduplicate, prune, simplify, compress, validate.Its meshoptimizer simplifier became topology-limited on this faceted CAD export and barely reduced it. Keep it for cleanup/validation, not the primary reducer here.
3MeshLib
Next Bench
GitHub source; C++/C#; pip install meshlib.Repair, excessive-component removal, error-bounded decimation, remeshing, segmentation, and cross-platform automation.Strongest open-source second benchmark if gltfpack cannot satisfy a future asset. More integration work and weaker FBX/material workflow than the winner.
4MeshLab / PyMeshLab
Useful
pip install pymeshlab; GUI/CLI/filter scripts.Mature quadric-edge-collapse, cleaning, component removal, normals, and mesh filters.Good unattended per-part cleanup lane. Requires format orchestration and careful material/scene handling.
5Mayo + OpenCascade
Source Lane
GitHub/CMake; cross-platform GUI and converter CLI.Reads CAD/BREP formats, preserves assembly context, controls tessellation precision, exports GLB/OBJ/STL.Best open-source front end if STEP/IGES/BREP becomes available. It is a converter/tessellator, not a final reducer. FBX import exists; FBX export does not.
6Assimp
Plumbing
brew install assimp or source build.Broad format conversion, hierarchy/material import, and export.Useful ingestion plumbing, not a quality retopology solution.
7AutoRemesher / Instant Meshes
Specialist
GitHub binaries/source; AutoRemesher exposes a headless CLI and target-quad setting.Automatic field-aligned quad retopology.Worth testing for single clean shells. Multi-part CAD, thin brackets, materials, and pivots make it a poor first unattended choice for this package.
8CGAL Surface Mesh Simplification
Build-Your-Own
C++ library via CMake/package managers.Robust constrained edge-collapse with custom costs, placement, and stop predicates.Powerful algorithmic base, but requires a custom importer/material/assembly pipeline. Not the fastest route to a working FBX.
CommercialSimplygon / InstaLODInstallable SDKs and command-line automation; paid/evaluation licensing.Purpose-built production optimization, material casting, geometry culling, CAD tessellation, batch pipelines.Potentially strongest enterprise options. Not zero-friction GitHub/npm tools and not needed for this medium-distance pedal result.

Internal Results — Real Asset Bench

What Failed

  • Blender collapse-decimation reached low counts but created spikes and folded mechanical shells.
  • Voxel remesh preserved broad mass but melted buttons, gaps, pivots, and hard-surface detail.
  • Meshy Remesh hit 4,690–4,772 triangles but produced visibly melted, faceted, and locally collapsed controls.
  • Pixyz remains the correct CAD-aware category, but the installed draft runtime/license probe is blocked.

What Worked

  • Blender separated the original 489 disconnected shells into four spatial pedal controls.
  • gltfpack permissive simplification reduced only the two complex controls.
  • The two already-light controls were retained without unnecessary damage.
  • Blender recombined the four named objects, exported FBX, re-imported it, counted triangles, checked dimensions/transforms, and rendered proof views.

Recommended Unattended Pipeline

  1. Import FBX in Blender and record source triangles, dimensions, transforms, materials, and connected-shell count.
  2. Separate intended controls by hierarchy or spatial clustering. Never simplify the entire monolithic CAD mesh as one object.
  3. Export each control to GLB.
  4. Run gltfpack with named-node/material preservation, permissive simplification, locked borders, and bounded error.
  5. Keep already-light controls unchanged.
  6. Recombine named controls in Blender, export FBX, re-import, count triangles, and compare perspective/top renders to source.
  7. Reject any output with spikes, collapse, missing silhouettes, shifted scale, or lost controls. Increase the ratio automatically and retry.

Primary Sources

  1. meshoptimizer — gltfpack documentation
  2. meshoptimizer GitHub repository
  3. glTF Transform simplify documentation
  4. glTF Transform CLI
  5. MeshLib GitHub repository
  6. PyMeshLab installation documentation
  7. Mayo CAD viewer/converter GitHub repository
  8. Assimp GitHub repository
  9. AutoRemesher GitHub repository
  10. Instant Meshes GitHub repository
  11. CGAL Surface Mesh Simplification manual
  12. Simplygon scripting and automation · InstaLOD CAD and pipeline automation