MAZATROL Conversational Programming (SmoothAi)
MAZATROL is Mazak’s conversational programming language, and it is a fundamentally different animal from G-code. You do not write blocks of motion; you build a program from units — drilling, tapping, face milling, pocketing — that you fill in through guided screens, and the control computes the toolpaths, tool selection, and cutting conditions for you from the shape and the material. This page explains the MAZATROL model on the current SmoothAi control (the same unit language as the earlier SmoothG): how a program is assembled, the unit hierarchy, the full unit-type catalog, how cutting conditions come from the material, and how to drop raw EIA/ISO code in when you need it. For control keys, screens, and offsets see the Mazak Control Guide; for straight G-code on the same machine see Mazak EIA/ISO Programming.
The Conversational Model: Units, Not Lines
A G-code program is a list of moves — you tell the machine every position, feed, and spindle speed. A MAZATROL program is a list of machining intentions. You tell the control “drill this hole pattern to this depth in this material,” and the control develops the tool sequence (center drill, drill, chamfer), picks the surface speed and feedrate, calculates peck depths, and generates the approach and retract motion. Programming is interactive: the system prompts you screen by screen, so an operator running SmoothAi for the first time can create and edit a program by answering the on-screen messages rather than memorizing G-codes.
The practical trade: MAZATROL is fast and forgiving for prismatic shop-floor work — holes, faces, pockets, bosses, slots — and it is self-documenting on the screen. It is not the tool for free-form 3D surfacing, which is posted as EIA/ISO from CAM. Most Mazak shops run both: MAZATROL for the everyday parts, EIA/ISO for the sculpted ones, and MANUAL PROGRAM units to splice G-code into a MAZATROL program where a unit can’t express what’s needed.
Program Structure: Common Unit → Machining Units → End
Every MAZATROL program is built from a fixed skeleton. Four units are mandatory; five more are added as needed.
| # | Unit | Role |
|---|---|---|
| Mandatory skeleton | ||
| UNo. 0 | Common unit | Always the program head (unit number 0, cannot be deleted or copied). Sets the workpiece material, the INITIAL-Z safe plane, ATC mode, and multi-workpiece data — the data common to the whole program. |
| UNo. 1 | Basic coordinates system unit (WPC) | Sets the workpiece zero point as coordinates in the machine coordinate system (WPC X/Y/Z), plus a rotation angle th between machine and workpiece axes. |
| … | Machining unit(s) | One or more units that actually cut the part — point, line, or face machining. Each carries a tool sequence and a shape sequence (below). |
| last | End unit | Delimits the end of the program. |
| Added as required | ||
| Auxiliary coordinates system unit | An additional (OFFSET) work coordinate system. | |
| Special mode unit | Operations other than machining — M-code, indexing, pallet change, basic-coordinate shift, process end, table select, five-surface (see below). | |
| Manual program mode unit | A block of EIA/ISO-style G-/M-code embedded in the MAZATROL program. | |
| MMS unit | Automatic measurement of the basic coordinate system (WPC) with a spindle probe. | |
| Comment unit | A free-text note in the program. | |
On the PROGRAM display the program reads top-to-bottom as a numbered list of units. The Common unit shows the material and safe plane; the WPC unit shows the zero point; then each machining unit occupies a line, expandable into its tool and shape sequences.
A MAZATROL program as it reads on the PROGRAM display — units, not blocks. Each machining unit holds a tool sequence and a shape sequence; the DRILLING unit is shown expanded.
The Unit → Tool Sequence → Shape Sequence Hierarchy
This three-level nesting is the core idea to internalize. A machining unit is not a single operation — it is a small program in itself:
| Level | What it holds |
|---|---|
| Unit (UNo.) | The machining type and its top-line data: the finished feature and its overall dimensions (e.g. a DRILLING unit line carries hole diameter, depth, chamfer). |
| Tool sequence (SNo.) | The tools that develop the feature and how each moves. The control auto-develops this — a drilled hole expands into center drill → drill → chamfer rows — and it fills in tool nominal size, cutting speed (C-SP), and feedrate (FR). You override any row. |
| Shape sequence (FIG / figure) | The machining dimensions and positions: where the holes are (the point pattern) or the outline of the milled shape (the figure geometry). |
So a single “drill 8 holes” unit is one unit, a tool sequence of three tools, and a shape sequence of eight positions — and the operator entered a handful of numbers, not a line of motion code. The manual states it plainly: for each machining unit the necessary data are given in two sequences, the tool sequence (tool name and tool movement) and the shape sequence (machining dimensions).
The Unit Catalog
Machining units come in three families — point, line, and face — each selected from an on-screen menu. The menu labels below are the exact SmoothAi/SmoothG soft-key names.
Point machining units — menu [POINT MACH-ING]
Twelve hole-type units. Each auto-develops a multi-tool sequence (spot/center, cut, chamfer, etc.) sized to the feature.
| Menu key | Unit | What it does |
|---|---|---|
DRILLING | Drilling | Drill a hole; develops center drill, drill, chamfer as needed. |
RGH CBOR | Rough counterbore | Counterbore (spot-face) roughing. |
RGH BCB | Rough back counterbore | Counterbore from the back side. |
REAMING | Reaming | Ream to size after drilling. |
TAPPING | Tapping | Cut internal thread; develops drill + chamfer + tap. |
BORING | Boring | Bore to size — through (BORE T1), non-through (BORE S1), stepped through (BORE T2), stepped non-through (BORE S2). |
BK CBOR | Back boring | Bore/counterbore from underneath the part. |
CIRC MIL | Circular milling | Helical-interpolate a hole with an end mill (large or odd-size bores). |
CBOR TAP | Counterbore-tapping | Combined counterbore + tap. |
HI SPD. | High-speed drilling | High-speed hole cycle variant. |
The shape (figure) sequence of a point unit is a hole pattern, chosen from POINT (single), LINE, SQUARE, GRID, CIRCLE, and ARC. You give the pattern origin and spacing; the control expands it into every hole position.
Line machining units — menu [LINE MACH-ING]
Ten units for milling along a contour with an end mill, keyed to which side of the line the cutter runs and whether it chamfers.
| Menu key | Unit |
|---|---|
LINE CTR | Central linear machining (cutter on the line) |
LINE RGT / LINE LFT | Right-hand / left-hand linear machining (cutter offset to one side) |
LINE OUT / LINE IN | Outside / inside linear machining (around the outside or inside of a closed contour) |
CHMF RGT / CHMF LFT | Right-hand / left-hand chamfering |
CHMF OUT / CHMF IN | Outside / inside chamfering |
TEXT | Text engraving (option) |
Face machining units — menu [FACE MACH-ING]
Seven units for facing and removing area with a face mill or end mill.
| Menu key | Unit | What it does |
|---|---|---|
FACE MIL | Face milling | Flatten a surface with a face mill. |
TOP EMIL | End milling — top | Face an area with an end mill. |
STEP | End milling — step | Mill a step / shoulder. |
POCKET | Pocket milling | Rough and finish a closed pocket. |
PCKT MT | Pocket milling — mountain | Pocket leaving raised islands. |
PCKT VLY | Pocket milling — valley | Pocket with recessed valley. |
SLOT | End milling — slot | Mill a slot. |
The shape sequence of a line or face unit is a figure — the contour outline entered as connected line and arc elements, with the machine offsetting for the cutter automatically. C-axis variants (C-axis point/line/face machining units) exist on machines with a rotary C axis for machining on cylindrical faces.
Special-mode and program-flow units — menu [OTHER]
| Unit | What it does |
|---|---|
| M-code | Output an M-code (coolant, aux functions) between machining. |
| Subprogram | Call another program (MAZATROL or EIA/ISO) as a subprogram. |
| Basic coordinate shift | Shift the program origin (basic coordinates) — the MAZATROL analog of a local coordinate shift. |
| Indexing | Rotate an index table to an angle. |
| Pallet change | Change the pallet. |
| Process end | Delimit the useful scope of the same-tool priority (grouping) function. |
| Table selection / Five-surface | Select a rotary axis for indexing; execute five-surface machining (options). |
Material & Cutting Conditions: Let the Control Compute Them
The payoff of the material code in the Common unit is automatic cutting conditions. When the cursor is on MAT., MAZATROL offers a menu of pre-registered, Mazak-recommended workpiece materials — for example:
CST IRN DUCT IRN CBN STL ALY STL STNLESS ALUMINUM L.C.STL AL CAST
With a tool row selected, tapping [AUTO SET] fills in the surface speed (C-SP) and feedrate (FR) suited to that material, that tool, and that machining type. The values are computed from the CUTTING CONDITION displays (the W.-MAT./T.-MAT. tables), the tool data, and machine parameters. The Automatic Cutting-Conditions Setting Function goes further than a lookup: it predicts the power the cut will draw and eases the conditions to the spindle’s characteristics, which helps keep the spindle from overheating.
You are never locked in. Every C-SP and FR field is editable per tool-sequence row, so the auto-set value is a starting point you tune from experience. The Cutting Condition Storing (VFC) function closes the loop: when you tune a feed or speed at the machine with the override/VFC function, the modified value can be stored back against the basic conditions so the next program that hits the same material/mode/tool combination starts from your proven number, not the factory default.
Tool Data, Tool File, and Building on the Screen
Auto-development and auto-conditions only work if the tools are registered. Two displays hold that data:
| Display | Holds |
|---|---|
| TOOL DATA | The physical, per-pocket tool data on the machine right now: length compensation (LENG COMP.), actual diameter (ACT-), tool life, and magazine correspondence. On random-ATC machines this must match the real tooling in the magazine or the barrier/interference checks are meaningless. |
| TOOL FILE | The tool library the program draws from. A tool named in a tool sequence must exist here or the control raises alarm 434 NO ASSIGNED TOOL IN TOOL FILE. |
The build workflow on SmoothAi: create a new program (it opens with just the Common unit line), fill the material and safe plane, add the WPC unit and set the zero point (often by probing with the coordinate-measurement function or an MMS unit), then add machining units from the [POINT]/[LINE]/[FACE] menus. For each unit you type the feature data, let the tool sequence auto-develop, tap [AUTO SET] for conditions, and enter the shape/figure positions. Close with the End unit. Before cutting, run the program in the tool-path check / Virtual Machining graphics — the manual is emphatic that the digital calculation can occasionally fail, so verifying the drawn path is mandatory. Individual moves can also be tried from MDI, which accepts single units or manual-program blocks without a stored program.
Mixing Modes: MANUAL PROGRAM (EIA) and Subprograms
When a unit can’t express what you need — an odd move, a canned function, a macro call — drop into a Manual program mode unit. It holds EIA/ISO-style G- and M-code inside the MAZATROL program, running in the same workpiece coordinate system as the surrounding units. Use it for fine positioning or motion that isn’t “machining a feature.” (Note: multi-workpiece machining with a manual-program unit requires an absolute three-axis position command in its first block.)
You can also go the other way and call a full EIA/ISO program as a subprogram from a Subprogram unit. The called G-code program inherits the WPC set in the MAZATROL main program; some modal conditions are auto-established at entry and restored on return per the G-code initial-modal parameters. This is how a shop keeps a posted 3D-surfacing routine as a subprogram while the MAZATROL main program handles setup, facing, and holes.
A Program as a Unit Sheet
Because MAZATROL is screen-based, a program is best shown as a unit sheet, not as code. Here is a compact part — face the top, drill and tap a 4-hole grid — laid out the way it reads on the PROGRAM display. Blank cells are values the operator enters; C-SP/FR come from [AUTO SET].
| UNo. / SNo. | Unit / Tool | Key data |
|---|---|---|
| Program head | ||
| 0 | COMMON | MAT CBN STL INITIAL-Z 200. ATC/MULTI as needed |
| 1 | WPC (basic coords) | WPC-0 X −500. Y −300. Z −200. th 0. |
| UNo. 2 — face the top | ||
| 2 | FCE MILL | FACE/DEPTH, FIN-Z (finish stock) on the unit line |
| R1 | FACE MILL (tool seq.) | NOM-ø C-SP (auto) FR (auto) |
| F1 | Figure (shape seq.) | face outline — corner points of the area |
| UNo. 3 — drill the grid | ||
| 3 | DRILLING | DIA, DEPTH, CHMF on the unit line |
| 1 | CTR-DR (auto-developed) | C-SP / FR auto |
| 2 | DRILL (auto-developed) | HOLE-ø, HOLE-DEP, peck — C-SP / FR auto |
| 3 | CHAMFER (auto-developed) | chamfer size |
| FIG | GRID pattern (shape seq.) | origin X/Y, PITCH-X, PITCH-Y, counts |
| UNo. 4 — tap the grid | ||
| 4 | TAPPING | NOM (thread), PITCH, DEPTH |
| 1–n | DRILL / CHAMFER / TAP (auto) | C-SP / FR auto |
| FIG | GRID pattern | same positions as UNo. 3 |
| Program end | ||
| 5 | END | — |
Notice what isn’t there: no G0/G1, no G81/G84, no S or M6, no explicit approach or retract. Four holes drilled and tapped, a faced top, and the entire “code” is four units and a handful of numbers.
The WPC unit itself is the closest thing to a code line you type:
UNo. UNIT ADD. WPC X Y th Z
1 WPC-0 -500. -300. 0. -200.
Gotchas
- A MAZATROL program is not portable text. Unlike G-code, you can’t email a “.txt” and run it on another brand of control. It lives as structured data on the SmoothAi and is edited on the SmoothAi (or in Mazak’s programming software). Back up important programs to USB/SD regularly — a local-disk failure can lose them.
- SmoothAi vs older Mazatrol dialects. SmoothAi and SmoothG share the unit language shown here; older generations (Matrix, Fusion, T-Plus, M-32/M-2) use similar concepts but different unit names, screens, and key layouts. Verify unit naming against the manual for the exact control — don’t assume a 20-year-old Mazatrol program’s terminology matches SmoothAi.
- Tools must be registered first. A tool named in a tool sequence must exist in the TOOL FILE (else alarm 434), and TOOL DATA must reflect the real magazine on random-ATC machines or the interference/barrier checks — and the auto-developed toolpaths — are wrong.
- WPC / base-zero setup is load-bearing. Correct program data with a wrong workpiece zero moves the machine to unexpected places. Set and verify the basic coordinates (probe or edge-find), and remember the clearance-including blank in the Common unit: if the tool starts inside that blank, the control sees no obstruction and drives straight to the approach point.
- Auto-conditions depend on accurate tool data. [AUTO SET] is only as good as the tool material, diameter, and cutting-condition tables it reads. After editing tool data, re-run tool-path check / Virtual Machining — a change there can alter a field-proven program’s behavior.
- Always graphics-check before cutting. The control warns that its digital calculation can, in rare cases, fail to produce a path; verify the drawn toolpath every time before automatic operation.
References
- Yamazaki Mazak, MAZATROL SmoothG Programming Manual (MAZATROL Program, for Machining Centers), Manual No. H749PA1003E, 09.2022.
- Yamazaki Mazak, MAZATROL SmoothAi Programming Manual (MAZATROL Program, for Machining Centers), Manual No. H747PA1000E.
- Yamazaki Mazak, MAZATROL SmoothAi / SmoothG Operating Manual, Manual No. H747SA0023E.
Have a question or want to contribute?
Contact us with corrections, additions, or topics you'd like covered.
Get in Touch