LearnSTL, STEP and CNC
What is a STEP file? The CAD format that keeps your dimensions
What a STEP file stores, what it drops, AP203 vs AP214 vs AP242, how to open one, and why CNC shops and slicers want it.
· 8 min read

A STEP file is a neutral 3D CAD file defined by the ISO 10303 standard. It stores the exact shape of a part as mathematical surfaces, so an 8 mm hole is still an 8 mm cylinder when you open the file in a different CAD program. Almost every CAD tool can read and write one, which is why machine shops, suppliers and now slicers ask for it.
A STEP file is a 3D model saved in the Standard for the Exchange of Product Data, the ISO 10303 family of standards. The file itself is plain text, encoded as described in Part 21 of the standard, and it uses the .step or .stp extension. Inside, the geometry is stored as boundary representation: real planes, cylinders and spline surfaces joined by edges. A mesh of triangles only approximates those surfaces. That is why dimensions survive the trip between SolidWorks, Fusion, FreeCAD and Onshape, and why CNC shops ask for STEP rather than STL. A STEP file can also hold assembly structure and some product data such as part names, units, colours and, in the AP242 flavour, tolerances. It does not keep the feature tree or sketches from the program that made it. Bambu Studio, PrusaSlicer and OrcaSlicer import STEP directly and convert it to a mesh at import time.
What STEP is
STEP stands for Standard for the Exchange of Product Data. It is the informal name for ISO 10303, a family of standards that the ISO technical committee TC 184 started in the mid-1980s.
The file you download is a "Part 21" file. ISO 10303-21 defines the clear-text encoding, so a STEP file is plain ASCII that you can open in a text editor. Part 21 itself has three editions, from 1994, 2002 and 2016. The file has a HEADER section (description, file name, timestamp, which schema the data follows) and a DATA section with numbered entities such as #16=PRODUCT(...) that reference each other.
The extensions .step and .stp both mean the same thing. You may also see .p21, which is reserved for Part 21 files that carry something other than STEP application data.
Two warts. The specification itself costs money to read, and the files are fat: giving one edge a colour takes six extra entities. Wikipedia's editors list both under Criticism, and they are right.
What a STEP file stores, and what it does not
Stored:
- Exact geometry. Surfaces, edges and vertices are described mathematically, as planes, cylinders, cones and NURBS surfaces. This is called boundary representation, or B-rep. Curves stay curves at any zoom level.
- Solid bodies. A STEP file knows which faces enclose a volume, so downstream tools can compute mass and detect gaps.
- Assembly structure. One file can hold several parts, their names and their positions relative to each other.
- Some product data. Depending on the application protocol: units, colours, layers, part identifiers, validation properties and, in AP242, tolerances and other manufacturing information.
Not stored:
- Feature history. The extrude, fillet and pattern operations you used to build the part are gone. You get the resulting solid, which you can still edit with new features, but you cannot roll back to a sketch.
- Sketches and constraints. The 2D sketches and the dimension constraints behind them do not travel.
- A mesh. STEP describes surfaces. If you need triangles for a slicer, the slicer or your CAD tool generates them from those surfaces at import or export time.
- Materials, textures, lighting. STEP can name a material but it does not carry render data.
AP203 vs AP214 vs AP242
Every STEP file follows one application protocol, or AP. The AP sets which entities the file may contain. Three matter for mechanical parts.
| Protocol | Full name | Origin | What it adds |
|---|---|---|---|
| AP203 | Configuration controlled 3D design | Aerospace and defence | Geometry, topology, assemblies, configuration control data |
| AP214 | Core data for automotive mechanical design processes | Automotive | Everything in AP203 plus colours, layers, annotations, GD&T presentation, validation properties, kinematic structures |
| AP242 | Managed model-based 3D engineering | Merger of the two, published 2014 | Everything in AP203 and AP214 plus semantic PMI (machine-readable tolerances), shape quality data, parametric constraints, kinematics assembly, long-term archiving |
AP242 replaced both older protocols. ISO withdrew AP203 and AP214 as international standards when AP242 came out in 2014, and AP242 has since had second and third editions in 2020 and 2022. In practice you will still see AP203 and AP214 exports everywhere, and for plain geometry all three open in any modern CAD tool. If your exporter offers a choice, pick AP242. If you only need shape, AP214 is fine and carries colours, which AP203 does not.
How to open a STEP file
You do not need a CAD licence to look at one.
Free viewers:
- STEP File Analyzer and Viewer from NIST. It renders the geometry in a browser tab, checks the file for syntax errors and lists every entity in a spreadsheet.
- FreeCAD. Open source, imports and exports STEP, and lets you edit the solid.
- Autodesk Viewer in a browser, and eDrawings from Dassault, both view only.
CAD tools that import and edit STEP: Autodesk Fusion 360, SolidWorks, Onshape, CATIA, Siemens NX, Solid Edge, Creo, Inventor and FreeCAD all import STEP as a solid body you can modify.
On a desktop, double-click the file or use File, then Open, in the program. If you get a scale error, check units on import: a part drawn in millimetres that opens as inches is the most common STEP problem.
STEP vs STL
An STL file is a list of triangles that approximates the outside skin of a part. A STEP file is the exact solid. Convert STEP to STL when you need to slice, and keep the STEP as the master because you cannot get the exact surfaces back from the triangles. The full comparison, including 3MF, is in STL vs STEP.
Why CNC shops ask for STEP
A machinist programs toolpaths against faces. A cylinder in a STEP file tells the CAM software "this is a bore of diameter 8.00 mm on this axis", so it can pick a drill or a boring cycle. A 40-sided polygon in an STL tells it nothing of the kind, and the surface finish will show the facets.
STEP also carries the solid as one body with correct units, so the shop can measure any dimension straight from the file and quote without asking. That is why online machining services such as Fictiv and Xometry quote from STEP, and why CAD for CNC means STEP output in practice.
STEP in 3D printing today
Until a few years ago the answer was "export STL, then slice". Some industrial slicers still work that way. BigRep's own guide states that BLADE, its slicing software, does not import STEP and needs a mesh such as STL.
The hobbyist slicers changed. PrusaSlicer, Bambu Studio and OrcaSlicer each open a STEP file directly and triangulate it on import. Bambu Studio's documentation describes the benefit. It converts the exact model into a mesh at a tolerance finer than its arc-fitting tolerance. More of the toolpath then comes out as true G2/G3 arcs instead of short straight segments, which helps at high print speeds. Bambu and Orca both expose two knobs during import, linear deflection and angle deflection. Smaller values give a smoother surface, more triangles and a slower slice.
So a STEP file is now a perfectly good thing to drop onto a Bambu or Prusa printer's slicer. One bonus: the slicer sees an assembly's parts as separate objects, which makes colour assignment and orientation easier.
If you already have an STL and need to change it, that is a different problem. See how to edit an STL file.
Get a STEP file of a real bracket
Here is a concrete part. A flat mounting bracket, 60 mm long, 40 mm wide and 3 mm thick. Two M4 slots along the long axis, each 4.5 mm wide and 10 mm long, so the bracket can slide during alignment. One 8 mm bore near one end for a shaft or a cable gland. A 1 mm chamfer on the outer edges so it does not cut your fingers.
In a traditional workflow you would sketch that in Fusion or FreeCAD, extrude, cut the slots, drill the bore, chamfer, then export. It takes twenty minutes if you know the tool and an afternoon if you do not.
A text-to-CAD tool takes the paragraph above as the input. Type Parts turns it into a build123d script running on the OCCT kernel, the same open-source kernel that FreeCAD and Bambu Studio use to read STEP. The script runs, the result is checked against your dimensions, and you get a model with sliders for the length, the slot width and the bore diameter. Export gives you an STL for the slicer and, on the Maker and Pro plans, a STEP file whose planes and cylinders come straight from the kernel. There was never a mesh to convert back. The 8 mm bore in that file is a cylinder entity with radius 4, and a machinist's CAM software will read it as one. The first part is free to preview without an account. Plan details are on the pricing page.