Tooling

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 .glb optimization (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.

On this page