Jointly Convert a file

B-Rep vs mesh: which CAD geometry gives better robot joints?

The single biggest accuracy lever in CAD-to-URDF conversion is which geometry format you start from — and it's not close.

Glossary · ~3 min read

B-Rep (STEP, IGES)

Boundary representation stores a part as exact analytic surfaces — planes, cylinders, cones, torii, splines — and the curves and vertices where they intersect. A cylindrical hole is a genuine cylinder primitive with a precise axis and radius, not an approximation. See our STEP-to-URDF guide for the conversion details.

Mesh (STL, OBJ, PLY, GLB, glTF, DAE)

A mesh represents the same part as a soup of flat triangles. It can approximate any shape, including organic/scanned geometry B-Rep can't cleanly express — but a cylindrical surface is now hundreds of near-planar facets. There's no explicit "this is a cylinder with this axis" data left; it has to be recovered by fitting.

What this means for joint inference

B-Rep (STEP/IGES)Mesh
Joint axisExact, read from the surfaceEstimated by fitting/heuristics or ML
Joint type detectionHigh confidence from surface pairsLower confidence; conservative tools may leave ambiguous joints fixed
Best forMechanical assemblies with pins, bores, slidesScanned parts, organic shapes, when B-Rep isn't available

Jointly uses whichever geometry you give it — exact B-Rep axes from STEP/IGES, or heuristic/ML joint inference from meshes — and is deliberately conservative on meshes: it would rather mark a joint fixed than emit a confidently wrong axis. See a concrete example of this in converting a forklift assembly.

Skip the manual work

Jointly does everything on this page automatically: drop in your CAD (STEP, mesh, SolidWorks or Onshape), and it infers joints, axes, inertia and collision, then exports a simulation-ready URDF, SDF, MJCF or USD. The first conversions are free.

Try Jointly free →