Convert STEP to PLY
PLY is the format of measurement and research software — MeshLab, CloudCompare, Open3D, most scanner toolchains. Converting a STEP file into one turns a design into something those tools can compare against, and this page gives you direct control over how densely the exact surfaces are sampled.
Drag a 3D file here, or.
This page is set up for STEP files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
Why anyone converts a design into PLY
The usual reason is comparison. You have a STEP file of what the part was supposed to be, and a scan of what came off the machine, and you want to know how far apart they are. CloudCompare and MeshLab do that comparison, and they want both sides as meshes.
The scan is already a mesh. The design is not — it is exact surfaces — so it has to be sampled into one first. That is what this does, and it is why the detail control matters more here than on a printing page: the mesh you generate is the reference the deviation is measured against, and it should be finer than the tolerance you are trying to check.
Set the tolerance to a number, not a preset
For metrology work, use the Custom option rather than one of the presets. It lets you type the largest gap allowed between a triangle and the true surface, in the units the STEP file declares.
Pick a value comfortably smaller than the deviations you are looking for. If you are checking a part to a tenth of a millimetre, sampling the reference at a tenth of a millimetre means half your measurement is the tessellation, not the machining. A tolerance five or ten times tighter costs more triangles and removes the ambiguity.
The point count and the triangle count are both shown under the 3D view as you change the setting, so you can find the density you want before writing anything.
What the PLY will and will not contain
The file is written as binary PLY, which every one of those tools reads and which is several times smaller than the text form. It holds points and triangles, with duplicate points merged so the mesh is properly connected rather than a pile of loose faces.
PLY is best known for storing a colour on every point, and this conversion does not produce one. A STEP file assigns a colour to a whole part, not to points on a surface, so there is no per-point colour anywhere in the source to write. The parts also merge into a single mesh: PLY holds one mesh, not a list of named objects. Use the object list above to isolate a part if you need it on its own.
What survives, and what does not
Kept in the PLY file
- The shape to a tolerance you can set as an exact number
- A properly connected mesh, with duplicate points merged
- The real size, read from the unit the STEP file declares
Lost on the way
- The exact curved surfaces — they become flat triangles and cannot be turned back
- Colour, because STEP stores it per part and PLY stores it per point
- Part names and separate objects, which merge into one mesh
How to convert STEP to PLY
Drop the .step or .stp file in
The CAD engine is downloaded on the first CAD file you open, about 3 MB, and cached after that.
Choose Custom detail
For comparison work, type a tolerance rather than using a preset. Make it several times tighter than the deviation you are trying to measure.
Check the point count
The measurements under the 3D view show points and triangles. Both grow quickly as the tolerance tightens, and CloudCompare will happily take millions.
Isolate a part if you need one
PLY holds a single mesh, so an assembly merges. Use the object list to pick the one part you are inspecting.
Convert and open in your analysis tool
The result is binary PLY, which MeshLab, CloudCompare and Open3D all read directly.
STEP and PLY compared
| Property | STEP.step .stp | PLY.ply |
|---|---|---|
| File contents | Plain text in the ISO 10303-21 exchange form. Readable, and enormous. | A text header that declares the properties, then the data as either text or binary. |
| Geometry | Exact surfaces: planes, cylinders, cones, spheres, NURBS. Not triangles. | Triangles and polygons, built from a shared list of points. |
| Units | Recorded in the file, as a full unit and tolerance context. | None recorded. |
| Colour and texture | Colour per face or per solid, through the AP214 and AP242 styling entities. | A colour for every point, which is the main reason the format exists. |
| Separate objects | An assembly tree of named parts, each with its own placement. | One mesh. The header can declare extra per-point properties instead. |
| Published by | ISO 10303, from 1994. AP242 is the current application protocol. | Stanford University, 1994, for the scanning work that produced the Stanford bunny. |
| Written by | SolidWorks, Fusion 360, Inventor, CATIA, FreeCAD, Onshape — every serious CAD program. | MeshLab, CloudCompare, Open3D and most 3D scanners. |
Questions
- Is the PLY text or binary?
- Binary, little-endian. It is several times smaller than the text form and every tool that reads PLY reads it.
- Why is there no colour in the file?
- A STEP file colours whole parts, and PLY colours individual points. There is no per-point colour in the source to write out. If you need colour, convert to OBJ or 3MF instead, which store colour the way STEP does.
- What tolerance should I use for inspection?
- Several times tighter than the deviation you are measuring. If you are looking for errors of a tenth of a millimetre, sample the reference at a hundredth so the tessellation is not part of your result.
- Can I get one file per part?
- Convert once per part, isolating each one in the object list. PLY holds a single mesh, so there is no way to keep them separate inside one file.
Where to go next
The other direction
Other things to do with a STEP file
Other ways to get a PLY file
Related guides and tools
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert SLDPRT to STLGuide
- Convert SLDASM to STLGuide