Skip to content
3DToolBench

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.

Add a file to switch this on.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Convert and open in your analysis tool

    The result is binary PLY, which MeshLab, CloudCompare and Open3D all read directly.

STEP and PLY compared

STEP and PLY compared, row by row
PropertySTEP.step .stpPLY.ply
File contentsPlain 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.
GeometryExact surfaces: planes, cylinders, cones, spheres, NURBS. Not triangles.Triangles and polygons, built from a shared list of points.
UnitsRecorded in the file, as a full unit and tolerance context.None recorded.
Colour and textureColour 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 objectsAn assembly tree of named parts, each with its own placement.One mesh. The header can declare extra per-point properties instead.
Published byISO 10303, from 1994. AP242 is the current application protocol.Stanford University, 1994, for the scanning work that produced the Stanford bunny.
Written bySolidWorks, 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