Grain Matching Workshop
On a run of kitchen fronts or a set of drawer faces, the parts have to read as one piece of timber. That only works if they keep the same grain direction and, ideally, come off the same board. Grain matching lets you name that requirement: group the parts that belong together, and CutOptim carries the constraint into the layout instead of leaving it to whoever is at the saw.
Grain matching applies to 2D panel cutting. Groups are built from the pieces in your Parts (2D) table. For solid timber where the cross-section is the constraint, see Wood Cutting.
Setting the grain direction of a single part does not need this feature — or any paid plan. Every row in the Parts (2D) table has a Rot. checkbox. Leave it unticked and that piece keeps the orientation you entered, so its grain runs the way you drew it. That is available on every plan, guests included. Grain matching groups solve the harder problem: making several parts match each other by keeping them on the same board.
What a group changes
A grain group has two effects on the optimization, and it is worth knowing both because they can pull in different directions.
| Feature | Type | Description |
|---|---|---|
| Rotation lock | automatic | Every part in a group is cut in the orientation you entered — the optimizer will not turn it 90° to save space. This is what preserves grain direction. |
| Same-board preference | automatic | Layouts that keep all members of a group on one sheet score higher than layouts that scatter them, so matched parts come off the same board wherever the material allows. |
The rotation lock is absolute. The same-board preference is a ranking rule, not a hard constraint — see When a group cannot fit below.
Creating a group
- 1
Switch to 2D mode and enter your parts
Add the panels to the Parts (2D) table as usual. You can only group parts that already exist as rows in that table.
- 2
Open the Grain Matching panel
In the left sidebar, find **🌾 Grain Matching** (marked **BIZ**). On Free and Pro the panel stays hidden.
- 3
Create the group
Click **+ New group** and give it a name that means something at the saw — 'Front doors', 'Drawer fronts', 'Left carcass'. The name is what you will see if the group later has to be split.
- 4
Add the parts
Use the **+ Add to group** dropdown inside the group to pick each part that must match. Parts already in the group appear as coloured chips; the ✕ on a chip removes that part, and the ✕ in the group header removes the whole group.
- 5
Run the optimization
Run as normal. Grouped parts keep their orientation, and the layout that holds each group on one board wins over a layout that splits it.
Group only what genuinely has to match. Every group you add removes rotation freedom from the optimizer, so grouping parts that nobody will ever see side by side costs material for no benefit.
When a group cannot fit
Sometimes the parts simply will not fit on one board — three 900 mm doors on a sheet that holds two, for example. CutOptim does not fail the run and does not silently drop anything. It completes the layout and tells you which group had to be split:
⚠ Grain group split across sheets: Front doors
That message is your cue to decide. You can move to a larger stock format, split the group into two smaller matched sets, or accept the mismatch on that one run. The choice is a workshop decision, so the app surfaces it instead of making it for you.
The warning names the group, not the individual parts. If you have several groups and only one is named, the others were kept intact.
How grain ranks against the other goals
The optimizer weighs several objectives at once. Knowing the order stops surprises:
- Must-cut parts — pieces you flagged as required are placed first when stock is limited.
- Total parts placed — a layout that cuts more of your list always wins.
- Cost — in cost mode only, the cheapest material total ranks above grain matching, so a priced job stays cost-first.
- Grain groups intact — keeping matched sets on one board.
- Fewest sheets — grain ranks above this, which is why a group can cost you an extra board.
- Highest yield — the tie-breaker.
With no groups defined, the grain term is constant and the layout is exactly what it would have been before — turning the feature on costs nothing when you do not use it.
Grain matching and saved offcuts
If you use the Offcut Inventory, CutOptim normally cuts from your saved leftovers before opening new stock. Grouped parts are deliberately excluded from that pass.
The reason is simple: an offcut is one physical piece of a particular board. If half a matched set came off a leftover and half off a fresh sheet, the group would be split by definition. So grouped parts go straight to new stock, while everything else still uses offcuts first.
Limits
- Grain groups apply to 2D panel mode. They are not used in 1D linear or Wood mode.
- A part belongs to one group at a time — adding it to a second group removes it from the first.
- Groups are saved with the project, but they only take effect on a Workshop account.
- Matching is by board, not by position on the board. CutOptim keeps the set on one sheet; how you arrange the visual figure across those parts is still yours to judge at the saw.