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

Get Instant Quote

CNC knowledge

Vertical Turning and Milling Programming for Mill-Turn Centers

A practical method for programmers who have to turn a Ø800 mm flange and mill its bolt circle on the same machine. We cover setup, work offsets, tool axis calls and the dry-run checks that catch collisions before the first cut. Read it if you write G-code for parts that arrive as forgings or castings and cannot be re-chucked twice.

Ø400 mm rotary table±0.005 mm16 mill-turn centers4,000 mm max size
Vertical turning and milling programming setup on a mill-turn center
Quick read

Key takeaways

One work offset, two modesKeep G54 at the face center. Call turning and milling frames from the same zero so the part never moves between operations.
Program the spindle as an axisOn a mill-turn center the C-axis is a positioning axis, not a free-running spindle. Lock it before any milling move.
Cut air firstRun the full program at 200 mm above the part with rapid override at 25% before the first real cut.
Balance before speedA Ø800 mm forging above 120 rpm needs counterweight checks. Unbalance shows up as taper, not as chatter.
One datum, one reportProbe the face and bore after clamping, write the offsets into the program header, and inspect against the same datum.
Basics

What makes vertical turning and milling programming different

A vertical turning and milling center holds the part on a rotating table and brings a milling spindle down from above. The part spins like a lathe job, then stops and indexes so the same spindle can mill, drill and tap. That combination is why heavy, short parts with a large diameter and a small length-to-diameter ratio fit this machine so well. A Ø800 mm flange 60 mm thick is awkward on a horizontal lathe and worse on a 3-axis mill. Here it is routine.

The programming problem is that you are writing one program for two kinematic worlds. In turning mode the table is a spindle with a speed and a feed per revolution. In milling mode the same table is a C-axis that must hold position while the milling spindle interpolates. If your post-processor does not switch cleanly between the two, the machine will either fight itself or drop the C-axis clamp mid-cut. Most crashes on these machines are not tool-length errors. They are mode errors.

Vertical turning and milling programming also changes how you think about stock. Forging and casting allowance on a large diameter is rarely uniform. A 6 mm radial allowance can read 4 mm on one side and 9 mm on the other. Your first turning pass has to survive that spread, and your milling passes have to start from a face that the turning tool actually produced, not from the nominal drawing face.

For reference, the mill-turn centers we run cover a Ø400 mm rotary table and up to 4,000 mm of processing length. That range sets the practical limits on how much of a part you can finish in one setup, and how much you should leave for a second operation.

  • 1
    Short and wideBest fit: diameter-to-length ratio above 3:1.
  • 2
    One setup, two processesTurning and milling share a datum, so concentricity holds.
  • 3
    Heavy stockCastings and forgings with uneven allowance are normal here.
Pre-programming

Preparing the model and the machine before you write a line

Start in CAM with a single solid that carries both the turned profile and the milled features, positioned so the table centerline is the Z-axis. Do not model the part in two files and merge them later. Every offset error you introduce at this stage turns into a taper or a bolt-circle shift that no amount of dry-running will reveal.

Define the stock as a real forging or casting solid, not as a cylinder. If the customer sends a 3D scan of the raw part, use it. Where the scan is not available, add 1 mm of extra radial allowance in CAM so the first pass is not a full-width cut on one side only.

Check the machine configuration before you post. You need to know the number of simultaneously controlled axes, whether the C-axis is a servo positioning axis or a spindle with a C function, and whether the tool changer can reach the milling head at every table position. A 16-station changer that clears the part at Ø400 mm may not clear it at Ø800 mm.

Set the work offset from the physical part, not from the model. Clamp the part, indicate the face and the bore, then probe. Write the measured values into the program header as comments so the setup person on the next shift can see what the program expects.

  • 1
    One solid, one datumModel the part with the table centerline as Z0.
  • 2
    Real stock shapeUse a scan or add 1 mm radial allowance.
  • 3
    Know the axis countConfirm C-axis type and changer clearance before posting.
Structure

Program structure: headers, modes and safe positions

Build the program in four blocks: safety and setup, turning operations, milling operations, and retract. Keeping that order means a restart in the middle of the job only needs one search, not a re-read of the whole file. It also makes it obvious which offsets belong to which operation.

The header should carry the work offset values, the tool list with lengths, the maximum spindle speed for each mode, and the C-axis clamp state expected at each operation change. When a program runs on a second machine, that header is the only reliable handover document.

The mode change is the part worth slowing down for. Leave the C-axis clamped, retract the milling spindle to a safe Z, stop the table, then hand control to the turning mode. Reversing that order is the classic way to drag a boring bar through a finished bore. Use a G-code safe position at least 50 mm clear of the largest part diameter.

Finally, decide the retract path before you need it. On a vertical machine the tool comes straight up, which is convenient, but the table still has to index between features. Give every index move a clearance plane of 100 mm above the highest point of the part, not above the nominal face.

  • 1
    Four sectionsSafety, turn, mill, retract.
  • 2
    Header as handoverOffsets, tool lengths and speed limits written in.
  • 3
    50 mm minimumClearance between milling spindle and largest diameter.
Cutting data

Choosing feeds and speeds for both modes

Turning on a large-diameter part is limited by surface speed at the rim, not by the tool. A Ø800 mm part at 80 rpm already runs 200 m/min at the edge. Carbide inserts for steel sit comfortably around 150–250 m/min, so the rim is fine, but the center of the face runs near zero. Program a constant surface speed with a spindle cap, for example G96 S180 with G50 S400, and accept that the center will rub.

For aluminium 6061 and 7075, the rim speed limit is higher; you can run 300–500 m/min at the edge and still keep the table below its balance limit. For 17-4PH or Inconel, drop to 40–80 m/min and expect tool life measured in minutes, not hours. These numbers assume a rigid setup and a balanced part.

Milling on the same machine behaves like any 3-axis job once the C-axis is locked. Use a 0.05–0.10 mm/tooth feed for a Ø16 mm carbide end mill in aluminium at 8,000–12,000 rpm, and 0.03–0.05 mm/tooth in stainless. Keep radial engagement below 50% of cutter diameter on the first pass after turning, because the turned surface may carry a hard skin on castings.

If a feature sits on a curved face and you need to hold ±0.005 mm, do not rely on the turning pass to leave a clean reference. Mill a flat pad first, then use it as the datum for the bolt pattern. That is slower, and it is the difference between a bolt circle that fits and one that does not.

  • 1
    Cap the spindleG96 S180 with G50 S400 for steel at Ø800 mm.
  • 2
    Rim speed rulesThe edge limits the cut; the center barely cuts.
  • 3
    Mill a datum padWhen the drawing calls for ±0.005 mm on a curved face.
Common errors

Where vertical turning and milling programming usually goes wrong

The most common failure is a mode change with the C-axis unclamped. The table drifts a few tenths of a degree during the milling cut, the bolt circle comes out rotated, and the operator blames the probe. Lock the C-axis in the program, and verify the clamp output on the diagnostic page before the first part.

The second is a work offset taken from the model instead of the physical part. On a casting with 6 mm of allowance, a 2 mm face error moves every milled feature by 2 mm in Z. Probe the face after clamping and update the offset in the header.

The third is tool length measured on a different machine. Vertical turning and milling centers often use long, heavy boring bars, and thermal growth over a four-hour run can reach 0.02–0.05 mm on a long bar. Measure at the machine, not at the presetter, for any cut tighter than ±0.02 mm.

The fourth is a retract path that works at the nominal diameter and fails at the actual one. If the raw part is 4 mm oversize, a 50 mm clearance plane may become 46 mm. Add the stock allowance to your clearance calculation, not to the drawing dimension.

  • 1
    Clamp the C-axisVerify the clamp output before cutting.
  • 2
    Probe, do not assumeUpdate the offset from the real face.
  • 3
    Clearance plus stockAdd the allowance to the retract plane.
How-to

Step by step: writing and proving the program

  • 1
    Build the CAM setup on the table centerlinePlace the part so the rotary table axis is Z0 and the mounting face is Z0 in the turning frame. Use a single solid for turning and milling features. Export the stock as a real forging or casting shape, adding 1 mm radial allowance where no scan exists.
  • 2
    Define G54 and the second frameProbe the face and the bore after clamping. Set G54 at the face center. If you need a shifted milling frame, use G55 and record the shift in the header. Do not nest offsets deeper than two frames; three levels is where operators lose track.
  • 3
    Write the header blockList work offset values, tool numbers with measured lengths, maximum spindle speed per mode, and the expected C-axis state at each operation change. Keep it under 20 lines so it fits one screen at the control.
  • 4
    Program the turning section with a spindle capUse G96 constant surface speed with a G50 cap. For steel at Ø800 mm, S180 with a 400 rpm cap is a safe start. Take the first pass at 2 mm depth to clean up uneven allowance, then 3–4 mm passes. Do not exceed 60% of the insert maker's depth limit on a casting skin.
  • 5
    Switch to milling mode with an explicit clampRetract the milling spindle to at least 50 mm above the largest part diameter. Stop the table. Confirm the C-axis clamp is engaged in the program and on the diagnostic page. Only then call the milling spindle speed.
  • 6
    Mill a datum pad before the bolt patternIf the drawing holds ±0.005 mm on features that sit on a curved face, mill a flat pad first. Use 0.05 mm/tooth feed for aluminium and 0.03 mm/tooth for stainless, with radial engagement under 50% of cutter diameter. Then drill and tap from that pad.
  • 7
    Dry-run at 200 mm and 25% rapidRun the whole program with the tool offset raised 200 mm and rapid override at 25%. Watch the distance-to-go on every index move. Repeat with the coolant on to check hose clearance at full table travel.
  • 8
    Cut one part and inspect against the same datumInspect the first article against the datum you probed, not against the model. Record the offset drift over the run. On long boring bars, re-measure tool length if the run exceeds four hours and the tolerance is tighter than ±0.02 mm.
Selection

When to use a mill-turn center and when to split the job

Use this as a first-pass filter before you quote or plan a setup.

Part conditionMill-turn centerSeparate lathe and mill
Diameter-to-length ratio above 3:1First choiceChucking is unstable
Concentricity tighter than 0.02 mmOne setup holds itTwo setups add error
Long shaft, ratio below 1:1Table limits reachBetter on a lathe
Deep bores needing long barsThermal drift riskEasier to control
Simple 2-axis turned partOverkillFaster and cheaper
Part over 4,000 mmOutside machine rangePlan a different route
Prototype quantity, one to fiveNo dedicated fixture neededFixture cost per setup

The short version

If your part is short, wide and needs turning plus milling on one datum, run it on a mill-turn center and spend your time on the mode change, not on the feeds. If it is long and slender, split the job.

FAQs

Questions we get from programmers

Can I program a mill-turn center with a standard lathe post?

Not reliably. A standard lathe post does not know how to clamp the C-axis, and it will treat milling moves as if the table were a free-running spindle. You need a post that outputs the mode change and the clamp explicitly.

If you must start with a lathe post, hand-edit the mode changes and add the clamp codes as comments first, then convert them to real codes once you have verified the machine's M-code list.

How much stock allowance should I leave for the milling pass?

Leave 0.3–0.5 mm on faces that will be milled after turning, and 0.5–1.0 mm on bores that need a clean cylindrical reference. Less than 0.3 mm and the turned surface may not clean up on a casting skin.

On a forging with uneven allowance, leave more on the first pass and take it in two cuts. A single heavy pass on an unbalanced part is the fastest route to a taper.

Why does the bolt circle come out rotated after milling?

Almost always an unclamped C-axis or a C-axis zero that was set on a different feature than the one you probed. Check the clamp output first, then re-probe the reference feature and compare the C value in the program header.

A second cause is thermal drift in the table drive over a long run. If the rotation is consistent across parts, it is a zero error. If it grows during the shift, it is thermal.

What spindle speed cap should I use for a large diameter part?

Base the cap on balance, not on the tool. For a Ø400–500 mm part, a 400–600 rpm cap is usually safe with a balanced setup. Above Ø600 mm, keep the cap under 400 rpm until you have checked the counterweight.

For steel, S180 with a 400 rpm cap gives roughly 200 m/min at a Ø800 mm rim. For aluminium you can raise the surface speed but should still respect the balance limit.

How do I verify the program before the first cut?

Dry-run the full program with the tool offset raised 200 mm and rapid override at 25%. Watch distance-to-go on every index and every mode change.

Then run one part with the coolant on and check hose clearance at full table travel. Coolant lines are the most common thing to be struck at the extremes of travel.

Does GreatLight write the program or does the customer?

Both happen. We accept customer G-code and run it after a review, or we program from the 3D model and the drawing. For either route we return a DFM analysis with the quotation, usually within 12 hours.

If you send a model, include the datum callouts and any tolerance tighter than ±0.02 mm. Those are the features that decide the setup plan.

Send the model and get a DFM review back

Upload the 3D model and the drawing with datum callouts. We review the setup plan, the mode changes and the tool reach, and return a quotation with the DFM analysis usually within 12 hours.

12-hour quote100% inspectionNDA on requestNo minimum order quantity

Follow

More CNC knowledge

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