GreatLight CNC Machining Factory logo
CNC Machining
Rapid Prototyping
Materials
Industries
News
About GL

Get Instant Quote

File formats

CNC file type explained

Every format in a CNC workflow carries a different kind of information, and a few of them lose data on the way. This page explains what each file type actually holds, where it fails, and which one to send when you request a quote.

STEP, IGES, STL, DXFCAD vs CAM vs G-codeTolerance and units
CNC file type explained with CAD and CAM file formats for machining
The chain

A file type is not a box that holds a part. It is a link in a chain that runs from a designer's screen to a spindle. Each link carries a different kind of information, and every handoff can drop something. A solid model knows the shape. A drawing knows the tolerances. A toolpath knows the cutter. G-code knows the motion. No single format holds all four.

This is why the same part can quote cleanly from one file and come back with questions from another. When a format cannot carry tolerances, an engineer has to infer them, and inference is where surprises start. The GD&T callouts on a print are not decoration. They decide whether a bore is reamed or bored, and whether a face is ground or just milled.

The practical rule is simple. Send the richest format you have for geometry, and send the drawing alongside it for intent. A STEP file plus a PDF print beats any single file. If you only have one, a STEP file is the safer default for 3D parts because it keeps surfaces joined and carries units.

Everything below is about the boundary between those formats: what survives a conversion and what does not.

  • 1
    GeometryShape and nominal size. STEP, IGES, Parasolid, native CAD.
  • 2
    IntentTolerances, datums, finish, material. Drawings and PMI.
  • 3
    MotionToolpaths and feeds. CAM output, then G-code.
Design side

Design and geometry formats: native CAD, STEP, IGES, STL

Native CAD files (SLDPRT, CATIA, CREO, IPT) are the most complete records of a part, but they are also the least portable. Opening a native file from a different CAD package usually needs a translator, and the translator can rebuild features in a way the original designer never intended. If your shop runs the same software, native is fine. If not, export.

STEP (AP203, AP214, AP242) is the neutral exchange format for solids and assemblies. It stores analytic surfaces as true cylinders and planes rather than faceted approximations, and it carries units. For machined parts, this matters: a cylindrical bore in STEP arrives as a cylinder, so CAM software can offset it to the true tool radius. AP242 also supports PMI, so tolerances can ride along with geometry when both sides support it.

IGES is the older neutral format, built for surfaces rather than solids. It still appears in aerospace and legacy tooling work. The risk is trimming. An IGES export can leave gaps between adjacent surfaces, and CAM software then has to stitch them. A model that looks closed on screen may not be watertight. If you must send IGES, send it at the highest revision your CAD supports and check for gaps first.

STL is a mesh. It has triangles and no units, no surfaces, no features. It is the right format for 3D printing and the wrong format for CNC turning and milling. A curved surface in STL becomes a stack of flat facets; set the chord tolerance too loose and a Ø25 mm bore arrives 0.05 mm undersize because the polygon sits inside the true circle.

  • 1
    Send STEP for 3D partsSolids, true cylinders, units carried. Best default for milling and turning.
  • 2
    Send IGES only when requiredCheck for surface gaps before sending; legacy aerospace tooling.
  • 3
    Do not send STL for machiningFaceted, unitless, no feature data. Fine for printing, weak for CNC.
Flat parts

2D formats: DXF, DWG, and PDF drawings

DXF and DWG carry 2D geometry: outlines, holes, slots, bend lines. For a flat plate, a bracket, or a sheet metal blank, that is often all the geometry a shop needs. A laser or waterjet cuts from the outline directly. For a milled profile from plate stock, the DXF defines the perimeter and the hole centers, and depth comes from the print.

The trap in DXF is layers. A file can hold the part outline, a construction line, a dimension, and a title block on separate layers, all at 1:1. If the wrong layer is read as the cut path, the machine cuts a dimension line. Clean layers before export. One layer for cut geometry, nothing else.

A PDF drawing is not geometry. It is intent. It carries tolerances, datums, surface finish, material, thread callouts, and notes about deburring or masking. Never send a PDF alone for a 3D part, and never send a 3D model alone when the tight features need GD&T. The pair is what removes ambiguity.

Watch the scale. A PDF exported at 1:1 is still a print, not a model, so nobody should trace it. If a shop has only your PDF, they will redraw the part, and redrawing introduces its own tolerances. Send the DXF with it.

  • 1
    LayersStrip construction and dimension layers before export.
  • 2
    ScaleExport 1:1. Note the scale in the file or the email.
  • 3
    UnitsState mm or inch in the drawing title block.
Machine side

Manufacturing formats: CAM projects, toolpaths, and G-code

Once geometry is clean, a programmer builds a CAM project. This is where stock, workholding, tool selection, stepover, and toolpath strategy live. A facing pass at 0.5 mm depth, a roughing pass at 60% stepover, a finishing pass with a 6 mm ball nose, a reaming cycle for a H7 bore. None of that exists in the CAD file.

The CAM project itself is rarely exchanged. Shops build their own, because the toolpath depends on the machines and tools on the floor. Sending a CAM file to a shop is like sending a recipe for a kitchen you have never seen.

G-code is the final output: coordinates, feed rates, spindle speeds, tool changes, coolant commands, and canned cycles, in the dialect of a specific controller. Fanuc, Siemens, Heidenhain, and Haas all read similar code with different details. G-code is machine-specific and not portable. It is also not a quoting format. A shop cannot inspect a part from G-code, only run it.

There is one valid use for sending G-code: when you own the process and the shop is running your proven program on a matched machine. Otherwise, send geometry and let the shop post its own code.

  • 1
    CAM carries processTools, depths, stepover, workholding. Not a design format.
  • 2
    G-code is controller-specificFanuc code is not Siemens code. Not a quoting format.
  • 3
    Send geometry, not toolpathsLet the shop match the program to its machines.
Conversions

What breaks during conversion, and how to catch it

Most file problems are not corruption. They are silent losses. A STEP to STL conversion drops everything except triangles. A solid to IGES conversion can split a closed body into untrimmed surfaces. A DXF round trip through a viewer can flatten arcs into short line segments. The part still looks right until a dimension is checked.

Units are the most common silent failure. A model drawn in millimeters and read as inches comes back 25.4 times too large. The reverse comes back as a part you could hold in a thimble. Always state units in the file name or the drawing, and check the bounding box after import against the print.

Faceting tolerance is the second. STL and some mesh exports use a chord height setting. A 0.1 mm chord height on a Ø50 mm bore leaves visible flats and a bore that measures undersize. For any cylindrical feature that will be measured, use a solid format, not a mesh.

Threads are the third. Cosmetic threads modeled in CAD are pictures, not geometry. A modeled M6 thread often arrives as a plain cylinder. The drawing callout M6 × 1 is what the shop machines, so the thread table belongs on the print even when the model shows threads.

A quick check before sending: open the file in a viewer you did not create it in. Measure two known features. If the bounding box and the bore match the print, the file is probably clean.

  • 1
    Check bounding boxCompare model extents to the print after every conversion.
  • 2
    Keep solids solidAvoid STL for any measured cylindrical feature.
  • 3
    Call out threads on the printModeled threads are cosmetic, not machinable geometry.
Choosing

Which CNC file type to send, by part and process

For a 3D milled or turned part, send STEP plus a PDF print. STEP keeps the solid watertight and carries units. The print carries the tolerances the model cannot express. This pair covers most work, from a one-off prototype to a 10,000-part run, and it is what we ask for first when a quote request arrives.

For a flat or sheet metal part, send DXF plus a PDF print. The DXF gives the cut outline and hole positions; the print gives thickness, material, bend radii, and finish. If the part has formed features, mark the bend lines on their own layer so they are not confused with cut edges.

For a part with freeform surfaces, like a cover or an impeller, a solid format is required. STL will not hold the surface well enough for a 5-axis finishing pass at Ra 0.8–1.6 μm. On our simultaneous 5-axis centers, the toolpath is generated from the solid, and a faceted mesh forces the programmer to rebuild surfaces first.

For a part where you already own the program, send G-code plus the setup sheet plus the print. That is the only case where G-code is a useful input. It also only works when the receiving machine matches the controller and travel.

When in doubt, send both a solid and a print, name the units in the subject line, and say which features are critical. A two-minute email saves a day of back-and-forth.

  • 1
    3D partSTEP + PDF print with GD&T.
  • 2
    Flat or sheet partDXF + PDF print with thickness and bend data.
  • 3
    Freeform surfacesSolid model only. Mesh formats are too coarse.
Format guide

CNC file type explained: what each format carries

Match the format to the question you need answered.

FormatCarriesUse it forMain risk
STEPSolids, true surfaces, units3D machined parts, quotingPMI often stripped on export
IGESSurfaces, legacy geometryAerospace, older toolingGaps between trimmed surfaces
STLTriangles only, no units3D printing, visual checksFaceted curves, undersize bores
DXF2D outlines, holes, bend linesPlate, sheet, waterjet, laserWrong layer read as cut path
DWG2D and some 3D, native CADShops running the same CADVersion mismatch on open
PDF drawingTolerances, GD&T, notes, finishIntent for every partNo geometry, must be redrawn
CAM projectTools, depths, workholdingInternal shop useNot portable between shops
G-codeMotion, feeds, speeds, cyclesRunning a proven programController-specific, no inspection

The short answer

Send STEP plus a PDF print for 3D parts, DXF plus a print for flat parts, and keep G-code for machines you control. If a format cannot carry units and tolerances, pair it with one that can.

FAQs

Questions engineers ask about CNC files

Can you machine from an STL file?

We can, but it costs more and it is less accurate. An STL is a mesh with no units and no surfaces. A programmer has to rebuild or fit surfaces before generating toolpaths, and curved features arrive faceted.

If the part has any measured bore or a mating surface, send a STEP file instead. STL is fine for a visual check or a 3D print, not for a tolerance-critical machined part.

Do you need a 2D drawing if I send a 3D model?

For a simple part with generous tolerances, a solid model is often enough. For anything with a fit, a thread, a surface finish callout, or a datum, the drawing is what tells us the intent.

A model shows nominal size only. It cannot say whether a bore is H7 or a clearance hole. Without that, we quote the looser interpretation or ask you first, and asking costs a day.

What does STEP AP242 add over AP203?

AP242 can carry PMI: dimensions, tolerances, and datum information attached to geometry. AP203 carries geometry and assembly structure but not semantic PMI.

In practice, support depends on both CAD systems. Many exports still strip PMI. If the tolerances matter, keep the PDF print in the package even when you send AP242.

Can I send G-code for you to run?

Only if the machine matches. G-code is written for a specific controller and a specific machine envelope. Fanuc code will not run unmodified on a Siemens or Heidenhain control.

Send the G-code together with the setup sheet and the print. We will confirm the controller and travel match before quoting. Otherwise, send the solid model and we post our own program.

How do I avoid unit and scale mistakes?

Put the unit in the file name, for example bracket_rev-C_mm.step, and state it in the drawing title block. After any conversion, reopen the file in a viewer and check the bounding box against the print.

A 25.4× error is the most common file mistake we see. It is also the easiest to catch in ten seconds if someone measures the model before sending it.

Which file type is best for sheet metal parts?

DXF for the flat pattern, plus a PDF print for material, thickness, bend radii, and finish. Put bend lines on a separate layer from cut geometry.

If the part will be formed, tell us the bend direction and whether the flat pattern is already unfolded. A DXF of a folded view cannot be cut directly.

Send the file, get a DFM review

Upload your STEP, DXF, or drawing and we return a quotation with free DFM analysis within 12 hours. Uploads are secure and confidential, and an NDA is available on request.

12-hour quoteFree DFM analysis100% inspection

Follow

More from GreatLight

We publish setup notes, tooling trials and inspection data from the factory floor.

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

Trusted by engineers and manufacturers worldwide

Tesla Ford Motor Company BYD Auto Denso Magna International Boeing Airbus Medtronic KUKA FANUC