Grids
A Grid node arranges multiple jobs across the working area in a regular pattern. Use it to batch identical jobs, fill a sheet, or lay out a varied set of files coming from a mediator.
Grids are a workflow node — they only show up inside the workflow editor on the canvas, wired into a Setup job.
Parameters
Click a Grid node on the canvas to expose its parameters. The schema is small:
| Parameter | Type | Default | What it does |
|---|---|---|---|
gridAutoCenterX | checkbox | off | When on, automatically distributes a fixed number of columns evenly across the working area's X axis. |
gridAutoCenterCol | number | 5 | How many columns to use when auto-centring. Only visible when gridAutoCenterX is on. |
gridMarginX | number (mm) | 0 | Margin from the left/right edge of the working area. |
gridSpacingX | number (mm) | 0 | Gap between columns. |
gridMarginY | number (mm) | 0 | Margin from the top/bottom edge of the working area. |
gridSpacingY | number (mm) | 0 | Gap between rows. |
Filling a grid from a file source
A grid by itself doesn't generate jobs. It needs a file source upstream and a setup-job downstream.
Local folder ──┐
├─→ Setup job ─→ Workflow end
Grid ──────────┘
Files coming out of the source are distributed into the grid's cells in order. If the source returns 24 files and the grid is 6 columns × auto rows on a 300 mm-wide bed, the workflow lays them out left-to-right, top-to-bottom into available cells, starting a new pass if there are more files than cells.
Auto-center mode
When gridAutoCenterX is on, GRBL Server ignores gridSpacingX and distributes gridAutoCenterCol columns evenly across the working area's X axis (minus gridMarginX on each side). This is the easiest way to "make me 6 columns regardless of the bed width" without doing the spacing math.
The Y axis always uses gridMarginY + gridSpacingY — there's no auto-centre on Y because the number of rows depends on how many files are coming through.
Combining a grid with clipping
This is the production move that makes grids genuinely useful: tile across the whole bed, then clip the grid to the irregular shape of the material you've actually got.
Local folder ──┐
│
Grid ──────────┼─→ Setup job ─→ Workflow end
│
Clip / Crop ───┘
Cells outside the clip path are skipped. Cells partially outside are clipped to the path. The pre-visualizer shows you exactly what survives before you run anything. See Clipping & cropping.
Tips that age well
- Set the working area accurately. The grid uses it as the outer bound. Off by 10 mm and you'll burn into the laser case at the edge.
- Preview every grid. Compile the workflow and look at the pre-visualizer before running. Misaligned grids waste material very fast.
- Sort the source. If a mediator returns varied files, sort by material or colour upstream so adjacent cells use similar settings. The grid lays them in source order.
- Account for the kerf. Laser cut paths have width. Set
gridSpacingX/gridSpacingYto at least 2× your typical kerf so adjacent parts don't share edges.