CAD Interop & Conversion
STEP, IGES, STL, 3MF, glTF — moving CAD geometry between tools without losing fidelity.
The boring middle layer where most CAD heartbreak happens. Pairs with Mechanical CAD, Programmatic CAD, PCB 3D Viewers, and CAM & Toolpathing.
The formats themselves
- ★ STEP (AP203 / AP214 / AP242) — the universal mechanical interchange. AP242 is the modern target (PMI, semantic data). Every serious CAD tool reads/writes it.
- IGES — older surface-based format; still used in legacy CAM workflows.
- BREP / OCCT XML — Open CASCADE's native; round-trips perfectly between OCCT-based tools (FreeCAD, Build123d, CadQuery, Replicad).
- STL — universal mesh format; lossy from a CAD point of view; the lingua franca of 3D print.
- 3MF — the modern STL replacement; supports color, units, hierarchy, beam-lattice; widely adopted.
- OBJ / FBX / glTF / GLB — visualization-grade meshes; lossy; glTF is the modern default for web and the only one with first-class PBR.
- DXF / DWG — 2D; see 2D Drafting.
- JT (Siemens), Parasolid (
.x_t), ACIS (.sat) — proprietary kernels; readable by their respective tools and a few interop libraries.
Conversion / interop libraries
- ★ Open CASCADE Technology (OCCT) — the open-source kernel underneath FreeCAD, KiCad's 3D viewer, CadQuery, Build123d, and Replicad. Reads/writes STEP, IGES, BREP, glTF, STL. LGPL with exception. The reference.
- OCP — Python bindings; usable directly when STEP↔mesh round-trips need surgery.
- CGAL — computational geometry; not full CAD but used heavily in mesh repair.
- manifold (Emmett Lalish) — fast mesh-boolean library; used by JSCAD and others. Apache-2.
- libigl — research-grade mesh ops; MPL2.
Conversion CLIs / desktop apps
- ★ FreeCAD (
freecadcmd) — scriptable headless STEP↔STL↔glTF↔FCStd converter; the most reliable open-source path. - ★ CAD Exchanger — commercial; free viewer/converter for hobbyists; the gold standard for "this STEP is broken, what do I do" cases.
- Online 3D Viewer — browser-based viewer + converter for many formats. See PCB 3D Viewers.
- MeshLab — mesh-only; free; Format-zoo conversion.
- Blender — surprisingly capable mesh-format converter; STEP via add-ons (or convert STEP → STL elsewhere first).
- f3d — fast viewer + light conversion via
f3d --output .... - occt-import-js — WASM build of OCCT readers; useful when you need STEP in the browser.
Mesh repair / cleanup
- ★ MeshLab — free, open-source mesh repair; the venerable choice.
- ★ Meshmixer (Autodesk) — free closed-source; brilliant for "this STL has holes" repair, sculpting, and lattice generation. Officially deprecated by Autodesk but still works and still distributed.
- PrusaSlicer / OrcaSlicer's repair feature — fine for print-ready cleanup.
- Microsoft 3D Builder — Windows; free; quick STL repair.
- Netfabb (Autodesk) — formerly free, now paid.
- admesh — CLI STL repair / report.
Mesh / glTF optimization for the web
- ★ gltf-transform — Node CLI; the standard for
.glboptimization (Draco / Meshopt / KTX2). MIT. - gltfpack — meshoptimizer CLI; pair with gltf-transform.
- draco — Google's mesh compression; native + JS bindings.
- basis universal / KTX2 — universal GPU texture compression.
Format-specific viewers / inspectors
- CAD Assistant (OCCT) — reference STEP/IFC/IGES viewer when something looks off.
- eDrawings — Dassault free viewer.
- 3MF Consortium 3MF Tools — official validators.
- STEP-File Analyzer (NIST) — free Windows tool that produces a HTML breakdown of a STEP file (PMI, geometry, structure). Niche but golden.
Programmatic conversion in CI / scripts
- FreeCAD headless Python — write a 30-line script that imports STEP, exports STL/glTF; works in CI containers.
- Build123d / CadQuery
.export_step()/.export_stl()/.export_gltf()— direct from code. cad-to-gltf,step-to-gltf— community Node / Python wrappers.gltf-pipeline— older Cesium tool, still used.
Pick this if…
- Universal mechanical interchange: STEP AP214 or AP242.
- 3D-print delivery: 3MF (or STL if your slicer / hardware demands it).
- Web 3D delivery: glTF / GLB, optimized through gltf-transform.
- Open-source STEP↔anything in CI: FreeCAD headless or OCP/Build123d directly.
- A STEP file just won't import: CAD Exchanger (free for the hobbyist tier) or NIST STEP-File Analyzer to figure out what's wrong.
- STL repair: MeshLab (FOSS) or Meshmixer (free, deprecated but still works).
- Web-asset shrink-down: gltf-transform with Draco + KTX2.