Syntax Master Web Edition

Serious Tools. Questionable Personalities.

FLIP Shop Crew · Local shop application preview

Available only in the local shop program. These crew cards preview the application’s tools; they do not connect to hardware on this website.

Code Hoarder
Prototype phase

Code Hoarder

Program Inbox

Because somebody has to remember where you saved it.

Local shop program →
Pi Rat
Prototype phase

Pi Rat

Files on the Pi

Your programs aren’t lost. The rat knows where they are.

Local shop program →
Recent Programs

Recent opened or downloaded program snapshots in this browser.

Current programUntitled.NC
Ln 1, Col 1 0 lines · 0 tools Local only

Fixing Life’s Irritating Problems · Invent. Improve. Repeat.

Program inspection / static check — Not checked

PROGRAM CHECK

Inspection

Errors0
Warnings0
Variables0
✓

Run a check to inspect the program.

Macro execution details

Macro variable grid

Macro B playback starts local/common variables vacant. Supports IF/GOTO, G65 and M98/M99 with O-programs in this file. Use explicit decimal points in G65 numeric arguments. Trig uses degrees with NAT=0 ranges; up to 5 macro levels and 10 total calls. Reset clears simulated values.


Watching #500—

Ready

3 blocks/sec

3D toolpath

Dashed: G00 · Solid: G01/G02/G03 · Colors match tools on the setup sheet. White dot: current position. Rapid lines join endpoints; actual rapid travel may differ.

Toolpath coverage and limits

Programmed XYZ only. Starts at X0 Y0 Z0, G90, G00, mm unless set in the program. Shows the active work offset in its own local coordinates; actual offset translations are not applied. Switching offsets clears known XYZ until absolute coordinates are supplied. G2/G3 supports R or incremental I/J/K centers in G17/G18/G19. Arcs are drawn in steps of at most 1°. No tool compensation or collision checking.

G81 drilling: R is the retract plane; Z is the hole bottom. G98 returns to the initial height, G99 to R. Preview defaults to G98. Supports G90/G17 drilling; outlined cyan circles mark holes. Use XZ or YZ to see depth. Each Step completes one programmed block, including its full drilling cycle.

Mill cycles: G81/G82 drilling, G83 fixed-Q pecks, G74/G84 tapping, G85/G86/G89 boring. G90/G17 required. P dwell and spindle actions are recorded, not timed or simulated. G83 re-entry is simplified as feed from R. Lathe system A: straight G90/G94 and axial G92 thread paths; X diameter is plotted at half scale. Advanced cycle coverage is listed below.

Canned-cycle coverage and limits

Mill: G73 needs chip-break retraction settings; G76 needs oriented shift settings; G87/G88 depend on controller and manual intervention. These remain unsupported. FANUC/Puma and Syntec: G70 finishing, G71/G72 Type I roughing, G73 pattern repeats, G74/G75 peck/groove and G76 thread-envelope previews. Okuma: G71/G72 thread envelopes, G73/G74 grooving/drilling, G75 chamfer and G76 rounding. Type II pockets, parameter-dependent forms and G83–G89 lathe drilling variants remain explicitly unsupported. See Help → Lathe canned cycles for formats and limits. FANUC lathe drilling depends on Series 15/16 format and controller parameters, so mill R/Z rules are not reused.

Middle-button drag to rotate · Ctrl + middle-button drag to pan · Wheel to zoom. Left-drag also rotates; horizontal rotation is reversed. Left-click a path to select its code. Touch drag rotates. Red X, green Y, blue Z. The origin ring marks work zero; the small white dot marks the tool position.

Motion details
Work offset calls

G54–G59; FANUC G54.1 P1–P300 (also G54 Pn); Haas G154 P1–P99 and G110–G129. Available ranges depend on controller options. Plot shows only the active frame.

LineCallWork offset
Tilted-plane calls

G68.2 transforms XYZ paths into the selected work frame using FANUC Z–X–Z Euler angles and the feature-origin shift. Purple axes mark the tilted frame. G53.1 records orientation; B/C table movement, machine offset translations and TCP remain unmodeled. G69 cancels the transform. M7 C500 records coolant pressure 500 in machine units, not C-axis rotation.

LineCallStatus
Rotary-axis positions

DVF B/C and lathe C are tracked in degrees, starting unknown. In the lathe profile H increments C; U/V/W increment X/Y/Z. G90 establishes angles; G91 adds increments. Home/machine-coordinate calls leave work angles unknown. The XYZ plot applies G68.2 feature-plane transforms, but does not simulate B/C table movement or TCP.

LineCallBC
G10 data inputs

G10 creates no tool move. L2 P1–P6 stores G54–G59 data; other forms are recorded without applying them. Offset translations are not yet applied to the plot.

LineInputResult
Machine M-code actions

Supported machine auxiliary commands are recorded here. Hardware actions are annotations; unsupported motion stops with an explanation.

LineCodeActionSource

Lathe G74/G75: FANUC two-block peck/groove preview; P/Q use 0.001 mm or 0.0001 inch increments. Explicit retract setup required; nonzero bottom relief is not yet modeled.

Home / machine-coordinate calls

G28 returns and G53 machine-coordinate moves are recorded, not drawn. G53 applies only to its own block; addressed axes have unknown work coordinates afterward because machine-to-work offsets are unavailable. Homed axes have unknown work coordinates until specified again with G90. G91 remains active until G90.

LineCallAxes
Move coordinates — latest 200
LineMoveXYZ
Static calculations

Select Check / static preview to refresh.

Calculation history — every assignment

Offline numeric preview, not machine values. Unset variables stay unknown. Display rounded to 12 significant digits.

Print Macro B

Syntax Master Help

FANUC Macro B panel

Open FANUC Macro B from the setup sheet to show simulator variables beside it. Run or Step updates the grid; local variables follow the active macro call. Macro calculations opens the latest 1,000 assignments below the values. Print macros offers active (non-vacant) values or the full calculation history captured during this playback. Print uses a frozen snapshot and includes variable names, scope and source lines. Editing or resetting clears previous playback values. These are simulated values, not a live machine connection. Tool headings show work offsets; the executing tool displays its active offset during playback.

Accelerated toolpath graphics

Large programs and editor performance

The editor renders visible lines. Search, inspection, playback and cutting-time calculations use background workers. Save projects regularly; browser storage is not a backup.

Playback speed

Read speed ranges from 1 to 2,000 blocks per second. Playback processes smaller batches at low speeds and up to 200 blocks per batch at maximum speed. Every block is interpreted in order; the display updates between batches. Large plots may redraw less often to keep controls responsive. Actual speed depends on program complexity and device performance.

Hurco XYZAC starter profile

Choose Hurco in Machine profile, or load a program ending with a standalone E while Haas is selected to switch automatically. This starter uses the Haas XYZ preview engine and records A/C rotary positions. Rotary table geometry and tool-center-point transformations are not yet simulated. E is preserved in the program and serial transfer but excluded from plotted motion. Hurco documents E as the serial end-of-transfer marker; keep M02 or M30 for the machining program end. Full Hurco Basic NC and ISNC differences are not yet implemented.

Program Inbox and USB folder

Quick start

Open a program, select its machine profile, and load any machine subprograms. Run Check / static preview, then Run or Run to end. Inspect the plot and tool setup sheet. Save program exports only the NC text; Save project includes the program, profile, library and offset capture. Playback is a preview, not a collision or machine-safety verification.

Two program windows

Open a Syntec/Ganesh file containing $1 and $2 to show separate editable windows. Save program preserves the combined file. On a narrow screen, scroll the windows sideways. Wait codes lists matching G04.1 P source occurrences; click a wait to select its partner lines. Playback evaluates supported two-channel waits.

Open, save, projects and draft recovery

New starts a blank program. Open loads an NC text file. Save program downloads the current source; Ctrl/Cmd+S does the same. Save Project downloads a JSON bundle with the main source, loaded subprograms, machine profile and received offsets. Open Project restores that bundle. Edited text is backed up in browser storage when available; Restore Draft lets you recover it. Drafts, library storage and layout preferences belong to the browser address: changing the local service port or device may make them unavailable. Keep project files as portable backups.

Profiles and Development mode

Find, replace and colored boxes

Type literal text in Find and press Enter or Find next. Search is case-insensitive and wraps to the start. The active result is boxed in gold. Typing in Find does not modify the program. Open Replace, enter replacement text, then Replace match or Replace all. If there is no current match, Replace match first finds one. Replaced text is red; Undo replacement restores the last replacement operation. Markings clear on manual editing or loading another program. Clicking a plot segment boxes its source block green; it does not change the execution pointer.

Run, Pause, Step, Reset and block skip

Inspection, alarms and Macro B

Expand Program inspection / static check and press Check / static preview. Green check means no static issues found; red radioactive means errors; amber means warnings. Editing returns it to Not checked. Click reported issues to jump to their source. Playback alarm help explains common failures; Show problem line navigates to the block. Unsupported preview commands do not necessarily mean the machine program is wrong. Macro variables start vacant; unavailable machine system values are not invented. IF/GOTO, WHILE loops, expressions and nested calls are supported within interpreter limits. Use explicit decimal points for G65 numeric arguments. The variable grid and Calculation history show values, scopes, substitutions and assignments; the #500 readout is a quick watch.

Plot controls, tools and work shifts

Select 3D, XY, XZ, YZ or lathe ZX. Drag to orbit in 3D; Shift-drag pans. In flat views drag pans. Scroll or use +/− to zoom; Fit resets the view. Click a segment or hole marker to pause and jump to its source. Work offset offers Follow active offset, individual offset plots, or All work offsets — overlaid. Overlay stacks paths at common programmed zero; it does not apply machine work-shift values. Tool offers All tools, individual loaded tools and Unknown tool. For the mill, M6 changes tool ownership; a preselected T alone does not. Available tool choices come from executed paths. Channel chooses the Syntec path to display. Rapid paths are dashed amber; feed paths are cyan; red/green/blue axes identify X/Y/Z.

Setup sheet, comments, RPM and feed time — Rev H

One entry combines all operations for each tool, with H/D references and expandable comments. Adjust Setup text size independently of the code; the browser remembers it. Calculate cutting time analyzes the program and linked subprograms without changing the visible plot. Run, Step and Run to end prepare the same estimate automatically if needed. Calculation yields between batches; Cancel calculation stops it. Results are cached during plotting. Editing the program, changing library files, profile or block skips invalidates the estimate. Programmed pauses are passed during this separate calculation; visible playback still honors stops. Errors and the 10,000-block interpreter limit produce clearly marked partial totals. Feed rates and spindle speeds show unique values used on feed moves after calculation; source values appear before calculation. Cutting time excludes rapid travel, dwell, acceleration, overrides and spindle/tool-change delays. Arcs and canned cycles follow preview approximations. Unknown moves are flagged. Total cutting time is not complete machine cycle time.

Machine subprogram library and selected source

Layout, text and shop-floor controls

Drag the divider between editor and setup sheet, or use Editor width under Layout and text size. Editor height and Plot height adjust the vertical space. Text size changes the code and line-number font. Large shop-floor controls enlarges buttons and fields for touch use. Layout preferences are saved when browser storage is available. Collapsible sections still start closed. On narrow screens the panels stack vertically.

Stage, send, simulation, drip feed and Stop

Reference tables and preview limits

Work offset calls lists selections; G10 data inputs records data writes without motion. Tool geometry references records H/D metadata, not physical compensation. Home / machine-coordinate calls records returns without inventing a machine-to-work path. Move coordinates lists recent segments. Machine M-code actions records supported auxiliary meanings without simulating hardware. Tilted-plane calls and rotary positions describe DVF feature-frame preview; full machine/table kinematics and TCP are not modeled. Canned-cycle coverage describes approximations and unsupported cases. The plot follows programmed geometry, not stock removal or verified cutter-compensated motion. Saved reference materials may not be included in every share package.

Troubleshooting

Missing called program: load its O-program in Subprograms. Unexpected plot: check the profile, plane, tool, work offset and channel. Cutting time may be partial when motion is unknown. Browser addresses have separate drafts and libraries. Use Save project to preserve your work.

Navigation and Options

File, Edit, View and Help contain the application commands. View → Layout options adjusts the editor width, editor height, plot height and text size. Open the FANUC Macro B panel beside the setup sheet for simulator variables and calculation reports.

Recent Programs

Recent Programs keeps up to ten opened or downloaded snapshots in this browser. These snapshots are not fresh reads from the original files. Unsaved edits prompt before replacement. Save project includes your program, profile and loaded subprogram library.

Setup sheet buttons and tool comments

The setup sheet combines repeated calls to the same tool and lists its H/D references. Tool comments remain visible beside the T/H/D button; click that button to jump to the source tool call. Program Notes and Program Outline are buttons beside each other. Subprograms beside setup Options opens the Subprogram Library and Selected Subprogram Source buttons. Individual buttons toggle their sections; One Show all / Collapse all button toggles the setup panels. Setup Options adjusts its independent 12–28 px text size and opens Print / edit setup text. The editable copy can be printed or saved as .txt for an external text editor. Calculate cutting time performs the estimate before playback and caches it. Each tool lists cutting feed rates, RPM and estimated feed-motion time; rapid/G43 positioning does not contribute feed time. Unknown or unsupported moves make estimates partial.

Lathe canned cycles

Select the machine profile first. FANUC/Puma and Syntec use G70 P/Q to finish, G71/G72 for Type I turning/facing, G73 for pattern repeats, G74/G75 for peck drilling/grooving and G76 for threading. Enter explicit first-block setup values: machine parameter defaults are unavailable. P/Q contour labels must be unique within the called program. Roughing skips the contour definition after plotting it; G70 can reuse those labels. Macro expressions and subprogram-local contours are supported.

FANUC P/Q peck and thread depths use IS-B integer increments (0.001 mm or 0.0001 inch). Syntec uses decimal distances and its documented radius finish allowance. Do not copy one format into the other.

All three Okuma lathe profiles use OSP meanings: G71 longitudinal threading, G72 face threading, G73 radial grooving, G74 axial grooving/drilling, G75 45-degree chamfer and G76 corner radius. G75/G76 use signed radius L with one axis in G1. Peck cycles require explicit DA when multiple pecks need a machine retract value. Thread patterns M73/M74 are supported; parameter-dependent M75 remains unsupported.

Previews show programmed tool-center paths. Type II pockets, tool-nose compensation, advanced angle corners, OSP variable-lead/multi-start threads and missing machine parameters are not guessed. Thread paths are cutting envelopes: flank infeed, spindle phase and exit chamfer are not simulated. Cycle cutting time remains unknown. These previews do not establish machine safety.

Setup sheet text

Macro Examples

Educational simulation only. Simulation does not guarantee safe machine execution. No machine communication is available.

Preparing offline library…

Assumptions and controller limits

Toolpaths appear in the editor plot. Close this library to inspect or orbit the plot; your trace remains available here.

Variables (latest changed values highlighted)

Execution trace, branches and call stack

    Lathe parametric part generator

    Metric tool-center demonstration. Steps increase in diameter toward the chuck. Front chamfer is axial/radial size; radii round step shoulders. No nose compensation, chuck model, spindle start or machine output.