How to Prepare CAD Files for CNC Machining
A practical checklist for design engineers and buyers who send models out for quote. It covers solid geometry, units, tolerances, thread callouts and export settings. Read it once and you will know why a part gets quoted in 12 hours instead of three rounds of questions.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Key takeaways
What prepare CAD files for CNC machining actually means
A machinist reads your model as a set of boundaries. Every face, hole and pocket becomes a cutter path with a real tool diameter and a real depth of cut. So the job of preparing a file is not cosmetic. It is making those boundaries unambiguous, so the quote reflects the part you designed.
Most delays we see are not caused by hard geometry. They come from a model that is a surface quilt instead of a solid, a part drawn at the wrong scale, or a thread note that lives in someone's head. Fixing those three things before upload removes most back-and-forth.
We quote and run parts from one prototype to 10,000+ piece runs, with no minimum order quantity. Material choices run from aluminium 6061 and 7075 to 17-4PH stainless, Ti-6Al-4V and PEEK. None of that matters if the file arrives open-ended.
This page is the sequence we would follow ourselves. Model hygiene first, then units and origin, then tolerances and callouts, then export and handoff.
Make the model a closed solid before anything else
A CNC program needs a volume to cut away from. If your part is a collection of trimmed surfaces, the CAM system has to guess where the inside is. Sometimes it succeeds, and you get a quote. Sometimes it fails, and the shop asks you to repair the model first.
In SolidWorks, check with Tools > Check. In Fusion 360, run Validate in the Inspect menu. In Siemens NX, use Examine Geometry. You are looking for the same three things: open edges, self-intersecting faces, and zero-thickness walls.
Zero-thickness walls deserve a separate mention. A 0.05 mm rib in a plastic part that will be injection molded is a real feature. The same rib in machined aluminium is a broken end mill. Give any wall that a cutter will pass along at least 0.8 mm of thickness, and prefer 1.5 mm or more.
If you model in a surface-based tool like Rhino or Alias, close the solid before export. Most CAD packages have a stitching or join command that will report the remaining gap width. Anything above 0.01 mm is worth fixing, not leaving for the shop.
- 1Watertight bodyOne solid, no stray surfaces or construction planes left visible.
- 2No self-intersectionFillets that fold back on themselves are a common hidden error.
- 3Minimum wallKeep machined walls at 0.8 mm or thicker for aluminium and steel.
Units, origin and datum setup
Set your document units to millimeters or inches at the start, and stay consistent. A part modeled in inches but exported from a millimeter template comes out 25.4× small. Shops catch this, but it costs a day of confirmation.
Place the model origin somewhere meaningful. The best choice is a corner or a face that also appears on your drawing as a datum. When the origin sits in the middle of empty space, the programmer has to invent a zero point, and that invented zero is where setup errors creep in.
For prismatic parts, align the model to the axes. Put the primary flat face on the XY plane and the longest straight edge along X. Five-axis work can tolerate an odd orientation, but three-axis work is far quicker to program when the part sits square to the machine.
If the part is a turned component, the axis of revolution should sit on the Z axis or the X axis, whichever your shop expects. Tell them which one in the drawing notes. This single sentence saves a setup discussion.
Tolerances, threads and surface finish callouts
Model everything at nominal size. Do not shrink a bore by 0.01 mm to bias the fit. If a hole needs to be reamed, say so on the drawing with a tolerance band. The machinist will pick the tool and the compensation to hit it.
General tolerances should be stated once, in the title block. A typical shop default for machined metal is ±0.1 mm on untoleranced dimensions. Critical dimensions then get their own callouts. We hold ±0.005 mm (±0.0002 in) on features that require it, but only when the drawing says which features those are.
Threads should be called out with the standard name, not modeled as a cosmetic helix. Write M6 × 1.0 or 1/4-20 UNC in the drawing. A modeled thread adds file weight and gives the programmer no useful information. A thread table is clearer and cheaper.
Surface finish goes the same way. Ra 1.6–3.2 μm is a normal as-machined finish. Ra 0.8–1.6 μm needs a finishing pass and a finer stepover. Ra 0.2–0.8 μm usually means a secondary operation. Naming the finish per face tells the shop where to spend time and where not to.
- 1Nominal modelKeep design intent on the drawing, not in a shifted model.
- 2One general toleranceState it in the title block; call out exceptions individually.
- 3Named threadsUse M6 × 1.0 or 1/4-20 UNC text instead of modeled helices.
- 4Finish per faceRa 1.6–3.2 μm default, tighter values only where needed.
Choose the right export format
For most jobs, send a STEP file. STEP AP214 carries solid geometry, colours and assembly structure, and every CAM system reads it. It is the safest default because it does not depend on which CAD seat you use.
IGES is older and surface-oriented. It can work, but it loses solid information, so a simple cube may arrive as six separate faces. Use IGES only when the receiving shop asks for it. Native files (SLDPRT, SLDASM, IPT, CATPart, PRT) are useful when you want DFM feedback on features, but version compatibility has to be checked first.
Do not send STL for machining unless nothing else exists. STL is tessellated. A hole that should be a true cylinder becomes a ring of flat triangles. The shop can machine from it, but the dimensions will drift, and nobody can measure against a faceted surface with confidence.
If your part has a complex organic surface, add the native file alongside the STEP. That lets the engineer look at the feature tree and suggest a better toolpath or a split part, rather than guessing at how the surface was built.
Design choices that raise cost or block a quote
Sharp internal corners are the single biggest driver of cost on prismatic parts. Every inside corner is cut by a round tool, so the smallest corner radius sets the tool diameter. A 0.5 mm inside radius at the bottom of a 20 mm deep pocket needs a long, thin cutter that must run slowly.
Deep holes behave the same way. A hole deeper than 8× its diameter needs peck drilling and often a pilot drill, and holes past 20× diameter may need gun drilling or EDM, which changes the process entirely.
Thin floors and unsupported walls vibrate. If a machined wall is 0.5 mm thick and 30 mm tall, the part will chatter no matter how good the setup is. Adding a 2 mm rib or leaving a sacrificial web that gets removed later is often cheaper than fighting the vibration.
Finally, tight tolerances applied everywhere are expensive and pointless. Marking a whole part ±0.01 mm when only two bores mate with a bearing triples inspection time and does not improve the assembly.
- 1Corner radiusKeep inside corners at 1.2× the intended tool radius or larger.
- 2Hole depthStay under 8× diameter where possible; flag anything deeper.
- 3Wall thicknessUse 1.5 mm minimum for machined metal walls, more if tall.
Step by step: prepare CAD files for CNC machining
- 11. Repair the solid and check for open edgesRun the geometry check in your CAD tool. Fix open edges, self-intersections and zero-thickness walls. Target a single watertight body per part. If two parts will be machined from one block, model them as separate bodies, not one merged solid.
- 22. Confirm units and place the originSet document units to mm or inch and verify with one known dimension, for example a 50 mm boss. Move the origin to a real datum corner. Rotate the part so the primary face is on XY and the longest edge is along X.
- 33. Strip cosmetic detail and modeled threadsSuppress cosmetic knurling, embossed logos smaller than 1.5 mm, and helical threads. Replace each with a note. Keep functional fillets and chamfers. A 0.5 mm chamfer on a sharp edge is real geometry; a 0.05 mm chamfer is noise.
- 44. Add a DFM pass on deep pockets and small featuresCheck pocket depth against tool reach. A Ø6 mm end mill with a 30 mm flute length will deflect in a 40 mm deep pocket. Either widen the corner radii to at least 1.2× the tool radius or accept a slower, more expensive cut.
- 55. Export STEP AP214 and verify the fileRe-import the exported STEP into an empty document and measure three dimensions: an overall size, a bore diameter and a hole-to-hole distance. If any value is off, the export settings are wrong. Fix before sending.
- 66. Write the drawing and pair it with the modelAdd general tolerance, critical dimensions with datum callouts, thread table, finish per face and material spec. Note the quantity and any required certification such as ISO 13485 traceability for medical work.
- 77. Zip the package and state the deadlineInclude STEP, native file if you want DFM feedback, and the PDF drawing. Name files with part number and revision. State the target date and whether partial shipment is acceptable.
Which CAD file format to send for machining
Use this to pick a format before you upload. The right column is what to do when the format is not ideal.
| Format | Best for | Watch out for | Action |
|---|---|---|---|
| STEP (.step, .stp) | General CNC quoting and programming | Colours may be dropped | Default choice |
| IGES (.igs, .iges) | Shops that still run older CAM | Surfaces may come apart | Stitch after import |
| Native (.sldprt, .ipt, .prt) | DFM feedback on feature tree | Version mismatch between seats | Ask first |
| STL (.stl) | No other format available | Faceted arcs, loose tolerances | Add a drawing |
| DXF / DWG | 2D profiles, sheet metal, plates | No 3D solid information | Pair with STEP |
| PDF drawing | Tolerances, finish, thread notes | Not a geometry source | Always include |
When a feature is ready to machine and when it is not
Match the feature in the left column to the guidance, then decide whether to change the model or flag it in the drawing.
| Feature | Ready to quote | Needs a change |
|---|---|---|
| Inside corner | Radius ≥ 1.2× tool radius | Sharp corner in a deep pocket |
| Deep hole | Depth under 8× diameter | Depth over 20× diameter |
| Thin wall | 1.5 mm or thicker | Under 0.8 mm and tall |
| Thread | Named in a drawing note | Modeled as a helix |
| Surface finish | Ra called out per face | One blanket note on the sheet |
| Tolerance | Critical dims only | Whole part at ±0.01 mm |
The file is ready when a stranger can quote it without asking you a question
If the geometry is a closed solid, the units are declared, the critical faces are toleranced and the threads are written out, the quote comes back in one pass. We return quotation and a free DFM analysis within 12 hours, and uploads stay confidential with an NDA available on request.
Frequently asked questions
Should I send a STEP file or the native CAD file?
Start with STEP AP214. It is neutral, carries solid geometry and reads correctly in every CAM system.
Send the native file as well when you want DFM feedback on how the part was built. It helps the engineer see the feature tree, sketches and parameters. Check version compatibility first, because an older seat may not open a newer file.
Can I send an STL file for CNC machining?
You can, but expect dimensional drift. STL stores the surface as triangles, so a nominal Ø10 mm hole arrives as a polygon that is slightly smaller than the true circle.
If STL is the only format you have, pair it with a 2D drawing that states the critical dimensions. The programmer will model those features from the drawing numbers instead of the mesh.
Do I need to model threads in the CAD file?
No. Model a simple cylinder at the minor diameter and put the thread callout in the drawing, for example M6 × 1.0 or 1/4-20 UNC.
Modeled helices add file size, slow down the CAM import and give the programmer no extra information. A thread table in the drawing is faster to read and harder to misread.
What tolerance should I put on untoleranced dimensions?
State one general tolerance in the title block. A common shop default for machined metal is ±0.1 mm.
Then call out the dimensions that matter. We hold ±0.005 mm (±0.0002 in) where the drawing requires it, and we inspect those features specifically. Blanket tight tolerances across a whole part raise cost without improving function.
How do I handle a part that is larger than one setup?
Tell the shop the overall envelope up front. Our largest travel is 4,000 × 400 × 150 mm on the big machines, with 750 × 1,150 × 550 mm and 600 × 600 × 600 mm on the medium ones.
For very large parts, split the model into machinable sections and mark the joint faces. That lets the shop plan multiple setups instead of discovering the limit after the quote.
Can you sign an NDA before I upload?
Yes. Uploads are treated as secure and confidential, and we sign an NDA on request before any file transfer.
If your program needs documented information security, our ISO 27001:2022 certificate covers that. Medical device work can also run under our ISO 13485:2016 system with the traceability records it requires.
Send the model and get a manufacturability read back
Upload STEP plus a drawing and we return a quotation with a free DFM analysis within 12 hours. No minimum order quantity, from one prototype to 10,000+ parts.
12-hour quoteFree DFM analysis100% inspection