How to convert STEP to USDZ
- Load the STEP fileSelect a .step or stp file. The CAD kernel validates the ISO 10303-21 header before any geometry is touched.
- Read the B-rep definitionFaces, edges and trimming curves are read as exact geometry — not as triangles — so curvature is preserved at every detail level.
- Tessellate each faceEvery face is triangulated at the chosen detail level. Draft keeps files small; Maximum tightens the deflection until curved silhouettes look smooth at close range.
- Assemble one meshAll faces are merged into a single triangle set and the result is handed to the exporter.
What happens when STEP is converted to USDZ
What a CAD file really stores
STEP and IGES are boundary representations: exact surfaces (planes, cylinders, splines) with trimming curves that delimit each face. There are no triangles anywhere in the file — any triangle you see was computed on the fly.
Tessellation is the whole conversion
The kernel converts each exact face into triangles by recursive subdivision until the chordal error stays under the detail level's deflection. A cylinder tessellated at Draft may be 32 segments; at Maximum it can exceed 512. The triangle count scales with surface curvature, not file size.
Only position and normal survive
The mesh handed to exporters carries vertex positions and normals. Nothing else in the source has a destination in a plain mesh format: feature history, assembly structure, materials, names and PMI annotations are dropped.
What the USDZ package contains
The writer produces a zip whose payload is a USD scene describing one mesh with baked transforms. USDZ is deliberately uncompressed so devices can memory-map it; file size is dominated by the triangle payload, which is why detail level matters more here than for JSON formats.
Why AR preview shows the part too large
USD scenes are interpreted in metres. Mechanical STEP data is millimetres, and the conversion does not rescale — a 90 mm knob arrives as 90 units, so AR places it roughly nine storeys tall. Rescale in the AR tool or the source CAD if real-world size matters.
STEP vs USDZ
| STEP solid | USDZ AR package | |
|---|---|---|
| Feature | STEP source | USDZ output |
| Geometry | Exact B-rep surfaces | Indexed triangle mesh in a USD scene |
| Container | ISO 10303-21 text | Uncompressed zip (USD + resources) |
| Consumer | CAD systems | AR Quick Look, Reality Composer, visionOS |
| Units | Millimetres by convention | Metres by convention — no rescaling applied |
| Materials | Often present in the source | Default material only |
Supported formats
| Format | Read | Write | Notes |
|---|---|---|---|
| STEP (.step .stp) | Yes | – | ISO 10303 B-rep, AP203 / AP214 / AP242 |
| IGES (.iges .igs) | Yes | – | Entity-based surfaces, up to 5.3 |
| BREP (.brep) | Yes | – | OpenCascade native B-rep |
| STL (.stl) | Yes | Yes | Binary and ASCII triangles, no units |
| OBJ (.obj) | Yes | Yes | v / vn / f records; .mtl references ignored |
| PLY (.ply) | Yes | Yes | Binary position and normal arrays |
| GLB / glTF (.glb .gltf) | Yes | Yes | glTF 2.0, binary or JSON with data URI |
| 3MF (.3mf) | Yes | Yes | OPC/ZIP package, declares millimetres |
| FBX (.fbx) | Yes | – | Binary and ASCII, static mesh only |
| DAE (.dae) | Yes | Yes | Collada scene graph is flattened |
| 3DS (.3ds) | Yes | – | Legacy chunk-based 3D Studio format |
| AMF (.amf) | Yes | – | XML, ZIP-compressed packages supported |
| USDZ (.usdz) | Yes | Yes | ZIP containing a USD stage |
Known limitations and why a conversion can fail
This is a one-way flattening
The STEP feature tree, sketches and constraints cannot be recovered from the mesh output. Keep the source file — the conversion cannot be reversed.
Hollow results mean open edges
If the source solid has faces the kernel cannot sew shut, the tessellated shell can come out with open boundaries. Slicers usually repair small gaps, but check the preview.
Detail level changes file size, not accuracy claims
Higher detail means more triangles and a closer fit to the true surface. It does not make the geometry 'more correct' — the underlying B-rep is exact either way.
No textures or PBR shading
AR Quick Look supports rich materials, but the conversion pipeline carries geometry only. The USDZ opens with a default grey material; colour must be authored on the USD side.
iOS-only consumption
USDZ is an Apple ecosystem format. Android ARCore apps generally cannot open it directly — export GLB instead for cross-platform AR.
Frequently asked questions
Can I convert on this page itself?
No. This page is the reference for the STEP to USDZ path, and the conversion itself runs in the workspace that the button above opens, with both formats already selected. Your file is read in that browser tab and the download is written locally, so there is no upload stage in either place. Keeping the documentation and the engine on separate addresses lets file support and detail levels change behind one workspace without breaking the page you are reading.
Will the part appear at real-world size in AR?
No, unless you rescale. STEP declares its length unit in the file header — usually millimetres, but inches also occur — and USD is metres. The conversion does not rescale, so a 100 mm part appears 100 metres tall in AR Quick Look.
Does it work on Android?
USDZ is Apple-only. For Android ARCore use the GLB or glTF export instead.
Can I add textures later?
Yes — the USDZ is a standard package. Reality Composer or usdEditor can add materials to the mesh after conversion.
References
- ISO 10303-21:2016 — STEP exchange file structure
- Apple Quick Look — USDZ
- How this site is built and tested
Related converters
All converters
Last updated: