How to convert IGES to PLY
- Load the IGES fileSurface entities are gathered from the D/P sections; non-geometry is skipped.
- Tessellate per surfaceExact surfaces are triangulated at the chosen detail level; broken faces are skipped individually.
- Write indexed binary PLYThe writer emits a header (element vertex, element face), one packed vertex record each, and face records indexing into them.
What happens when IGES is converted to PLY
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.
Indexed PLY vs facet soup
Legacy IGES tessellations are full of shared vertices along trimmed edges. STL repeats every vertex per facet; PLY writes each once and indexes it. The same geometry routinely lands 25–35% smaller — and MeshLab, Blender and CloudCompare all read it without a plugin.
A natural pipeline for scanning workflows
IGES legacy part → PLY is a common first step before inspection or scan-comparison tooling, which is exactly the ecosystem PLY lives in. The output carries position and normal, ready for ICP or deviation analysis downstream.
IGES vs PLY
| IGES surfaces | Indexed PLY mesh | |
|---|---|---|
| Feature | IGES source | PLY output |
| Geometry | Exact surfaces as entities | Indexed triangle mesh |
| Layout | Entity list | Vertex list + face index list |
| Size for shared geometry | — | 25–35% smaller than STL |
| Units | Loosely declared | None — plain numbers |
| Consumer | Legacy CAD tools | MeshLab, Blender, CloudCompare |
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 IGES 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 unit, like every PLY
PLY declares no unit. Whatever numeric values the tessellation produced pass through; document the scale on your side.
Frequently asked questions
Can I convert on this page itself?
No. This page is the reference for the IGES to PLY 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.
ASCII or binary PLY?
Binary — smaller and faster for every tool that matters. ASCII PLY remains available via MeshLab if you need to diff a file by hand.
Does PLY carry the surface colours from IGES?
No. The pipeline is geometry-only: position and normal.
Why is the vertex count lower than the triangle count?
Shared vertices are stored once and referenced by index — a sign the mesh is properly welded, which is what you want.
References
- OpenCascade documentation — B-rep, IGES and tessellation
- three.js documentation — loaders and exporters
- How this site is built and tested
Related converters
All converters
Last updated: