Two turrets can cut the same part at once — so the failure is coordination, not the toolpath
Nakamura-Tome built its reputation on twin-spindle, twin-turret machines: two opposed spindles (left and right) and two turrets (upper and lower), usually both with a Y-axis, coordinated across multiple channels. That architecture is what makes them fast — and it’s what makes them hard to program. On these machines, two turrets can cut the same part at the same time (pinch turning and pinch milling), motion can be superimposed across both spindles, the part transfers directly from the left spindle to the right under precise L/R synchronization, and the whole thing is choreographed with waiting M-codes. The geometry of any one cut is usually simple. What bites is the coordination — between turrets, between spindles, and across the channels that run them.
So the mistakes here aren’t “G-code errors” in the usual sense. They’re synchronization, pinch coordination, superimpose state, transfer phase, and channel/turret assignment — and on a machine where two turrets share a work zone around one part, any of them is a collision.
Main pain points
- Multi-channel synchronization and waiting M-codes. The turrets and spindles run as separate channels coordinated by waiting M-codes — used, for example, in the part-transfer cycles. Miss a wait in one channel and the channels desync: one turret advances while the other isn’t ready, deadlocking or driving into the shared zone.
- Pinch turn/mill coordination. When both turrets cut the same part simultaneously — one balancing the other’s cutting force — their positions and timing have to be coordinated exactly. Get it wrong and the two turrets collide, or the part deflects because the balancing cut isn’t where it should be.
- Superimpose / interpolative motion across spindles. With superimposed or interpolative functions on both spindles, a tool’s real motion is a composition of more than one axis — often across channels. Read one channel and you’ve seen half the motion; a wrong superimpose state produces compound motion the listing never showed.
- L/R spindle synchronization and direct transfer. The direct transfer from the left spindle to the right needs the two spindles matched in speed and phase (phase recognition is central to multitasking here). A transfer out of phase, or timed wrong, machines the second side out of position or crashes the handoff.
- Turret / channel / station assignment. With an upper and a lower turret (and multi-holders adding tools per station), assigning the wrong turret, channel, or station drives the wrong tool at the wrong place — valid code, wrong tool.
- Main vs sub coordinate systems. The right (sub) spindle uses its own work-coordinate system, with the Z direction reversed relative to the main. A wrong coordinate system or sign puts the sub-side features out of position.
Why these are serious on a twin-turret Nakamura
The defining feature — two turrets able to work one part at once — is also the defining risk. Two turrets sharing a small work zone around a single part is the highest inter-turret collision exposure there is, and it depends entirely on timing and coordination that no single channel’s listing contains. Add opposed spindles with direct transfer, superimposed motion, and multiple channels, and the machine is doing several coordinated things at every instant. When the coordination is right, cycle time collapses and the part comes off complete. When a wait, a pinch position, a superimpose state, or a transfer phase is wrong, it’s a collision or an out-of-position part — on medical, aerospace, and EV components where that’s expensive.
Why a listing and CAM simulation miss them
The failure is in the coordination, not one channel. A missing wait, a pinch position off, a superimpose state wrong, a transfer out of phase — none of these are bad geometry. They’re the relative timing and state of two turrets and two spindles running together, which a read-through of one channel can’t reveal.
CAM simulates its own plan. A CAM renders the toolpaths it generated with its assumptions about the channels, the pinch coordination, and the transfer — not the real posted ISO across all channels, with the actual waiting M-codes, superimpose functions, and L/R synchronization the control executes. The superimposed motion (a sum across channels) and the two-turret timing are exactly what a toolpath render of one channel’s plan doesn’t reproduce.
Catching these needs the real ISO executed across every channel the way the control coordinates them — pinch, superimpose, transfer and all — on a twin of the actual Nakamura.
Where Eureka G-Code fits
Eureka G-Code builds a digital twin of your specific Nakamura-Tome — twin spindles, upper and lower turrets (both Y), the B-axis on an NTJ/NTX upper turret, multi-holders — and executes the real ISO across every channel the way the control (Nakamura NT / Fanuc) runs it, composing the superimposed motion and coordinating the turrets and spindles in their real relative timing. So the coordination surfaces where you can fix it at a desk:
- A missing waiting M-code that desyncs the channels shows up as one turret advancing into the shared zone — a collision or near-miss on the twin.
- Pinch turn/mill coordination shows up truthfully, because both turrets run on the twin at once — a two-turret collision or a balancing cut in the wrong place is visible before it happens on the part.
- Superimposed / interpolative motion is composed the way the control composes it, so you see the tool’s true summed path across the spindles, and any collision on it.
- The L/R spindle synchronization and direct transfer run on the twin in their real phase and timing, so an out-of-phase transfer or a handoff collision shows up before the part is machined out of position.
- A wrong turret/channel/station or coordinate system shows up as the wrong tool or an out-of-position feature, checked against the model.
Because it reproduces the control and reads the real ISO regardless of origin — posted, conversational-exported, or hand-edited — the Nakamura program is verified as your machine will run it, across both turrets and both spindles, with collision, near-miss, overtravel, and part-vs-model in one pass, and a cycle time from the real program.
> Take a Nakamura program that pinch-cuts with both turrets and transfers to the right spindle — the part where the two turrets share the zone and the transfer is timed to the phase — and run the real ISO across every channel on a twin of your machine in Eureka G-Code. Watching the turrets and spindles coordinate the way the control will, before the machine does, is how a two-turret collision or an out-of-phase transfer gets caught at a desk.
FAQ
What are the most common programming errors on a Nakamura-Tome twin-spindle, twin-turret machine?
Multi-channel synchronization and waiting-M-code mistakes, pinch turn/mill coordination errors (two turrets on the same part), wrong superimpose/interpolative state across the spindles, L/R spindle synchronization and direct-transfer phase errors, wrong turret/channel/station assignment, and main-vs-sub coordinate-system mistakes. They’re coordination and state errors, not bad geometry.
What is pinch turning/milling and why is it risky to program?
Pinch cutting uses both turrets on the same part at once, one balancing the other’s cutting force. It’s fast, but it puts two turrets in a shared work zone whose positions and timing must be coordinated exactly — the highest inter-turret collision exposure on the machine, and one that a single channel’s listing can’t show.
Why can't CAM simulation catch these?
CAM renders the toolpaths it generated with its own assumptions about the channels, pinch coordination, and transfer — not the real posted ISO across all channels with the actual waiting M-codes, superimpose functions, and L/R synchronization. The coordination and the composed (superimposed) motion only appear when the real program runs across the channels on a twin.
Does Eureka G-Code handle superimpose and the L/R transfer?
Yes. It composes the superimposed/interpolative motion the way the control does and runs the L/R spindle synchronization and direct transfer in their real phase and timing on the twin, so compound-motion collisions and out-of-phase transfers show up before the machine runs.
Which Nakamura controls does it work with?
It reproduces the machine’s control behaviour — the Nakamura NT Smart X / NT-IPS layer on a Fanuc 31i-B (or older Fanuc) — and executes the real ISO across every channel, whether the program was posted, exported from conversational, or hand-edited.
Next step
Eureka G-Code — request a demonstration on a digital twin of your own machine and controller.
Run the real ISO across both turrets and both spindles on a twin of your Nakamura — pinch, superimpose and transfer — before the machine coordinates them for real
Related Articles
CAM simulation checks the toolpath it generated. The machine runs the posted G-code — with constructor cycles, macros, variables, subprograms and probing the CAM never modeled. On multi-channel and sliding-headstock machines, that gap is where the crash lives. Eureka G-Code simulates the true G-code on a digital twin of your machine. Request a demo on a twin of your machine.
Prevent slow, costly collisions on large vertical lathes like the Pietro Carnaghi AP80. Verify part zero, attachments, and G-code before production.
Most scrap isn’t a crash—it’s a valid program making an out-of-spec part. Compare real ISO simulation to CAD models to catch shifted offsets offline
A probing cycle sets offsets at runtime and changes what every later move does — yet it’s the part of the program almost nobody simulates, because a toolpath render doesn’t run it. Eureka G-Code executes probing cycles on a digital twin of your machine, and checks pre-holes for tapping too. Request a demo on a twin of your machine.
Prevent sub-spindle handoff crashes, front/back side errors, and XB B-axis mismatches on Nomura NN-20J3 Swiss machines with Eureka G-Code.
On paper the DVF 5000 Gen 2 gives you a big envelope and full 5-face access. In real setups it’s tighter: at tilt the reach shrinks, the fixture and trunnion interfere, the tool setter gets in the way, and the table sits off-center from the spindle. That gap between brochure envelope and usable envelope is where setups crash.
Deep-hole drilling for injection and die-casting molds (IMSA, CHETO) isn’t just a toolpath: depth vs diameter, chip evacuation, guide bushings, special cycles and process monitoring all matter
G32 cuts a thread one pass per block — every pass, infeed, chamfer and pull-out is on the programmer, and the feed must match the pitch in sync with the spindle. It’s valid code that scraps the thread or crashes the tool when a value is off. Eureka G-Code runs the real G32/G92/G76 passes on a digital twin of your machine
A digital twin of your multi-channel turn-mill that reads the real ISO of every channel — synchronization, multiple spindles, sub-spindle transfer, constructor cycles and hand edits included — and proves it out before the turrets move. Any controller, any kinematics, no axis limit. Request a demo on a twin of your machine.
How G90/G91 modal errors, lathe U/W mix-ups, and subprogram mode shifts cause wild moves and crashes. Verify real ISO reference frames on a digital twin
Eureka Cloud turns every PC on your network into a simulation agent, so a whole shift’s worth of NC programs is verified overnight, in parallel — cleared or flagged before they reach the machine. And despite the name, it runs on your own servers: a private cloud, so your NC programs, geometry and IP never leave your network. Highly customizable, it integrates with your CRM, MES or other apps through APIs and scripting, and can automate post-processing, simulation, and feedrate optimization end to end. Request a demo
How shortest-path rollover, degrees/min feed errors, and C-axis wind-up cause 5-axis crashes. Verify multi-axis kinematics and TCP cycles on a digital twin.
Single-block on a multitasking machine is defusing a bomb with the timer running. Step through the real G-code off-machine on a digital twin — watch where a variable actually drives the tool, follow subprogram flow across channels — and find the bug at a desk. Eureka G-Code runs and edits the true G-code on a twin of your machine. Request a demo on a twin of your machine.
A Swiss-type lathe flips the geometry, packs the tool zone, and lets one tool do many jobs — so the mistakes that scrap parts and crash gang tools are ones a conventional-lathe programmer has never had to think about.
Why safe Z heights set below clamps or raised features cause rapid collisions between operations. Verify real ISO rapids over actual fixtures on a twin
A move that’s geometrically fine can still drive a rotary or B-axis into its travel limit — and because it isn’t a geometry error, a toolpath simulation doesn’t catch it. Eureka G-Code checks overtravel and near-miss against your real machine’s travels on a digital twin. Request a demo on a twin of your machine.
Standardize program verification across plants with automated, on-premises batch simulation. Eliminate bottlenecks and ensure no G-code runs unverified
Aero-engine blisks and casings push machining to the edge: tough titanium and superalloys, thin deformable parts, and airflow passages between blades so narrow the tool can interfere on a five-axis move
On a multi-channel turn-mill, each channel’s program can be flawless and the machine still crashes — because the collision lives in the timing between channels, not in any one line. Eureka G-Code simulates the real ISO of every channel, synchronization commands included, on a digital twin of your machine, so wait-code mistakes surface before the turrets meet. Request a demo on a twin of your machine.
Master B-axis signs, sub-spindle logic, and Fanuc cycles on the SMX 2100ST. Verify actual ISO code with Eureka G-Code digital twins
Static checks miss parametric logic errors. Execute Macro B variables, IF/WHILE loops, and family-of-parts math on a digital twin to catch crashes off-line.
Why wrong plane selection causes arcs to cut into parts and canned cycles to plunge off-axis. Verify modal G17/G18/G19 plane state on a digital twin.
Discover common multichannel sync errors on the Okuma Multus U4000. Prevent crashes and deadlocks by simulating real ISO code on a digital twin.
Master Bumotec s191 process orchestration across turning, milling, and grinding. Discover how digital twin simulation prevents costly first-cut errors.
Feedrate optimization isn’t a lab trick. Across real production — hardened-steel molds, aluminum castings, precision components, large gantry work and continuous 5-axis parts like impellers — Eureka Chronos has cut cycle time by roughly 6–26% while holding surface quality and dimensional accuracy, with tool wear reduced or unchanged. And it needs no material or tool libraries to do it. Request a demo.
Verify automatic head changes, kinematic transforms, and large-envelope ISO code on PAMA Speedram and Speedmat machines with Eureka G-Code
A digital twin of your sliding-headstock (Swiss-type) machine that reads the real ISO code and proves it out before the bar runs. Any controller, any kinematics
Cut cycle time, extend tool life and save energy by re-modulating feedrates based on real tool engagement. Optimize G-code programs offline
On a Citizen Cincom L20, the pains are multi-system ($1/$2/$3) synchronization, the G600-series machining-mode calls that govern gang, front, back and superimposed work, wait codes that must appear in every system, and Z-shift and guide-bushing traps. Eureka G-Code runs the real ISO across every system on a digital twin of the machine. Request a demo on a twin of your machine.
Moving legacy CNC programs to new horizontals risks costly crashes. Learn what breaks in G-code, offsets, and M-codes, and how to verify them
Master horizontal spindle kinematics, A’/B’ swivel table logic, and undercut operations on the GROB G350 with Eureka G-Code digital twins.
After a coordinate rotation or a tilted working plane, ‘up’ isn’t machine-up anymore — so a retract programmed in the rotated frame, or with the wrong axis order, drives the head straight into the part instead of clearing it. It’s a crash during what should be a safe disengage. Eureka G-Code runs the real ISO — rotation and kinematics included — on a digital twin. Request a demo on a twin of your machine.
Why rewrite the same helical interpolation code for every thread size when a macro can generate it from a few parameters? Eureka G-Code simulates the real G-code with macro expansion and helical interpolation, before you cut
The main-to-sub-spindle handoff is a timed dance — advance, grip, match, release before cut-off — and getting it wrong drops the part or crashes the spindles. It’s timing, not geometry, so a listing and a toolpath sim both miss it. Eureka G-Code executes the real transfer on a digital twin of your machine. Request a demo on a twin of your machine.
Prevent head order errors, turret mirror mismatches, and EIA/ISO sequence crashes on the Mazak i-300 ST with Eureka G-Code digital twins
CAM simulations assume correct offsets and miss wrong H numbers or missing G43 codes. Verify runtime control offsets and G49 states on a digital twin
How wrong call numbers, missing M99 returns, and carried modal states cause program flow crashes. Verify nested M98/M99 call structures on a digital twin
Why G83 peck depths, G98/G99 retracts, and control-specific behaviors cause crashes and scrap. Simulate real canned cycles on a digital twin offline.
On the DMG MORI NTX 1000, the recurring pains cluster around tool offsets that rotate with the B-axis or sub-spindle, wrong origins between the main and counter spindle, a post that doesn’t match the real kinematics, and one-setup programs that assume a machine state that isn’t there. Eureka G-Code runs the real posted ISO on a digital twin of the actual kinematics. Request a demo on a twin of your machine.
Ask any experienced machinist ‘what’s in your safe start?’ and you’ll get a line like G17 G40 G49 G80 G90 — the block that forces the control into a known state so your program doesn’t inherit leftover modal settings from whatever ran before.
Unattended bar work turns a crash from one scrapped part into a stopped run and a damaged machine. Here’s the checklist of what has to be verified before you walk away — and how Eureka Cloud runs those simulations overnight, in queue, so the whole night’s programs are proven before the lights go off. Request a demo on a twin of your machine
CAM cycle-time math is optimistic on any machine — and on parallel channels with synchronization waits it’s worst of all, because the waits and the interleaving aren’t in the toolpath. Eureka G-Code computes cycle time from the real ISO on a twin of your machine, and Eureka Chronos optimizes it. Request a demo on a twin of your machine

