Introduction

What does manual CAM programming look like

The video below shows a senior CloudNC machinist programming the same part twice in Siemens NX — first by hand, the way every shop programs every part today, then again with CAM Assist. The five steps further down break down what you’re watching in the manual half, and the dark block near the bottom of the page explains what CAM Assist does to each one.


CAM programming, in one sentence

CAM stands for Computer-Aided Manufacturing. A CAM programmer takes a 3D CAD model of a finished part and translates it into the explicit sequence of cutting operations a CNC machine can execute. The output is a programme — typically tens of thousands of lines of G-code — every line of which has to be correct. A wrong line crashes the machine, breaks the tool, or scraps the part.

The programmer works inside a commercial CAM package: Mastercam, Fusion, Siemens NX, Hypermill, Esprit, GibbsCAM, PowerMill, and 30+ others. Each package gives them a 3D viewport, a tool library, and a menu of toolpath strategies. None of them decide anything for the programmer. Every choice is theirs.

What you’re seeing in the video

The video has two halves. First, you watch the machinist program a representative metal part by hand inside Siemens NX — picking tools from a library of hundreds, selecting toolpath strategies from dozens of options per feature, dialling in feeds and speeds for each operation, picking lead-in geometry, setting safe heights, defining stock-to-leave, ordering operations so the part doesn’t deflect, and verifying every move in simulation before posting to G-code. Every click is a decision.

Then the same machinist programs the same part again with CAM Assist enabled inside the same Siemens NX environment. The hundreds of manual decisions collapse into a handful of review steps. The output is the same kind of programme — only the path from CAD model to G-code is dramatically shorter.

A simple bracket programmed by hand takes a few hours. A typical aerospace housing takes a full day. A five-axis turbine blade or impeller takes a week. The CAM Assist half of the video is, broadly, what that work compresses down into.


The five steps, for every part, every time

Every part on every machine in every shop in the world goes through this sequence. There is no shortcut and there is no template that works across parts. Each step is a judgement call that depends on the specific geometry, material, machine, and tooling.

01

Analyze the part and plan the setups

Open the CAD model. Identify every feature: pockets, holes, slots, contoured surfaces, threads, undercuts. Decide which features can be reached in a single orientation and which require flipping the part. Each orientation is a "setup" — the part is unclamped, repositioned, and re-zeroed by hand. More setups means more time, more chances to introduce error, and looser tolerances between features cut in different setups.

Then design the workholding. Will it sit in a vice? On a tombstone? Need custom soft jaws? Does the fixture get in the way of the cutting tools? Will the part deflect under cutting forces if it's only held on one side?

The judgement call: there are typically 4–10 valid setup strategies for a given part. Choosing the right one decides total machining time, achievable tolerances, and whether the part is profitable.

02

Choose tools and build toolpaths

For each feature in each setup, select a cutting tool from the shop's library. The library has hundreds of tools: end mills, ball mills, bull-nose mills, drills, taps, chamfer mills, face mills, thread mills, T-slot cutters, reamers, each in dozens of diameters, lengths, flute counts, coatings, and corner radii. The right tool depends on material, feature size, depth, surface finish requirement, and what other features the same tool can also reach.

Then for each tool, pick a toolpath strategy: dynamic roughing, trochoidal milling, constant scallop, parallel passes, contouring, rest machining, plunge roughing, helical entry, ramp entry, peck drilling. Most CAM packages offer 30–50 distinct strategies per feature type. Each one has its own parameter form — sometimes hundreds of fields.

The judgement call: a tool change takes 8–15 seconds and a tool itself costs $40–$400. Wrong tool choice cascades into wrong feeds and speeds. Wrong strategy means the part takes 3x as long to cut, or the surface finish fails inspection.

03

Pick feeds, speeds, and cutting parameters

Every operation needs numbers: spindle RPM, feed rate (how fast the tool moves through the material), depth of cut, stepover (how much the tool overlaps each pass), stock-to-leave for finishing, plunge rate, retract height, coolant strategy. The "right" numbers depend on the material's hardness, the tool's geometry and coating, the rigidity of the workholding, the rigidity of the machine, the length of the tool sticking out of the holder, and what kind of finish the customer needs.

Tooling vendors publish recommended starting values. Every shop adjusts them. Every machinist has their own opinion. Push the numbers and you get faster cuts but break tools and damage parts. Back them off and the machine cuts conservatively for hours. Most of this knowledge is tacit — learned by ruining parts and breaking tools, not from a manual.

The judgement call: a 10% change in feed rate can be the difference between a 3-minute operation and a 5-minute operation, or between a tool that lasts 200 parts and one that snaps on the second part.

04

Simulate and verify

Before any G-code reaches the machine, the programmer runs the entire programme in a simulator. This catches collisions between the tool, the holder, the spindle, the fixture, and the workpiece. It catches air-cutting (the tool moving through nothing, wasting cycle time). It catches gouges (the tool removing material it shouldn't). It catches feed rate errors and ordering bugs.

Simulation is not optional. A real collision at 12,000 RPM destroys a $50,000 spindle and ruins the part. But simulators are imperfect — they don't model real-world deflection, chatter, or thermal expansion. Programmers still proceed cautiously, use reduced feeds for the first run, and watch the machine in person for the first part.

The judgement call: what level of caution is appropriate. Too cautious and the part takes twice as long. Too aggressive and the spindle is on a six-week repair lead-time.

05

Post-process and prove out on the machine

Once the programme passes simulation, the CAM package "posts" it — converts the internal toolpath representation into G-code formatted specifically for the target machine. Every machine controller (Fanuc, Heidenhain, Siemens, Mazak, Haas) has slightly different syntax. The post-processor is a per-shop, per-machine config that translates between them.

The G-code then goes to the machine. The first part is the prove-out: load it, set tool offsets, run with reduced feeds and the door closed, watch every move. Adjust offsets in real time if a feature comes out under or over size. Rerun. Adjust again. Once the part measures within tolerance, the programmer locks the programme and hands it off to a setter or operator who will run it for the rest of the production batch.

The judgement call: prove-out time is unbilled. The shop pays the machinist's wage and burns spindle hours on the most expensive part of the queue. Most prove-outs take 30 minutes to 2 hours. Some take a full shift.


Why it's hard, and why it has resisted automation for 40 years

The five steps look procedural. They are not. Each step is a planning problem with hundreds of valid options, and the choices interact across steps. A tool decision in step 2 changes the feeds and speeds in step 3. A setup decision in step 1 changes which tools can reach which features in step 2. The combinatorial space of valid programmes for a single moderately complex part runs into the millions.

3D printing solved a similar-looking problem in the 1990s and the slicing software is now essentially solved. CAM programming is structurally different: you start with a solid block and remove material from any direction in any order, instead of building it up layer by layer. There is no "one obvious path" the way there is in slicing.

3D printing slicer

Input: 3D model.

Decisions: layer height, infill pattern, support structure. Roughly five parameters.

Output: deterministic toolpath. The same input always produces the same output.

A beginner can slice a part in under a minute.

CAM programming

Input: 3D model, machine, material, tool library, fixture, tolerances, surface finish, batch size, customer requirements.

Decisions: setups, fixture, tool selection per feature, strategy per feature, feeds, speeds, depth of cut, stepover, lead-in, retract, ordering, simulation, post. Hundreds of interdependent parameters per part.

Output: a programme that is one of millions of valid options, of which only a handful are efficient and safe.

A machinist needs roughly a decade of experience to do this reliably for complex parts.

The hard part is not any single step. The hard part is that every step depends on every other step, the constraints are physical and material-specific, and most of the relevant knowledge is tacit and held in the heads of the senior machinists who make the calls. There is no textbook answer. There is the answer this machinist has settled on after 30 years of breaking tools and ruining parts, and the answer the next machinist would give would be different, and both can be right.

Why now is finally different

For 40 years, every attempt to automate CAM programming has either oversimplified the problem (template-based "feature recognition" tools that only handle simple parts) or under-delivered on the AI (rule-based expert systems that hit a wall around 1995). Modern foundation models, combined with CloudNC's domain-specific reasoning layer, are the first technology stack that can hold the entire planning problem in context and make the same kind of judgement calls a senior machinist makes. Read the technical case →

What CAM Assist does to each step

The second half of the video above shows this in real time. Each of the five manual steps either collapses into a quick review action or disappears entirely.

01

CAM Assist reads the part geometry, proposes a setup-orientation strategy in seconds, and lets the machinist accept, tweak, or reject it. A 30-minute planning exercise on a complex part becomes a 30-second review.

02

CAM Assist selects tools from the shop’s own library and applies the right toolpath strategy to each feature — roughing, finishing, drilling, threading — automatically. The hundreds-deep menu of strategies and parameter forms compresses into a list of operations to inspect.

03

Feeds, speeds, depths and stepovers come from a continuously-tuned database of material–tool–machine combinations. The machinist still has the final say, but the starting point is already inside the safe envelope for the specific shop, machine, and stock.

04

Simulation still happens — but on a programme that is already structurally sound, with the right tools and approach angles. Fewer iterations, fewer surprises, fewer trips back to step 02 to start over.

05

Post-processing and prove-out still happen, because the machine and the metal still have to agree on the first part. But the programme being proved out is already 80% correct rather than 0%. Prove-out shrinks from hours to minutes.

What took four hours of manual programming becomes roughly four minutes of review. The machinist stays in control of every decision — they just stop spending the day on the ones that don’t need a human.

For every hour a CNC machine spends cutting metal, a programmer spent roughly four hours writing the programme. In complex aerospace work, that ratio reaches 8:1. The cost of those programming hours is the largest single line in the cognitive labour budget of the industry.

This is why machines sit idle. A $500,000 CNC machine is cutting fewer than four hours out of every ten because the programme isn't ready. The programmer is the bottleneck, the programme is the constraint, and the constraint sits upstream of every spindle in every shop in the world.

Globally, $100 billion per year flows through this exact workflow. The first half of the video at the top of this page is a $100 billion industry, recorded at full speed. The second half is what shrinks it.

The investment thesis in one sentence: manual CAM programming is the bottleneck of the global precision manufacturing industry. CloudNC has automated the hard part. Read about CAM Assist →

What to read next

What is a CNC Machine covers the hardware side — what these machines do and why they matter. Computational Complexity goes deeper on why the planning problem is genuinely hard. What is CAM Assist explains how CloudNC has automated the five steps above.