To nest parts on sheets in Mozaik, build your job in the Optimizer, set your sheet sizes and trim allowances, and let Mozaik lay the parts out across one or more sheets. If any parts need machining on both faces (like shaker doors with hinge boring), turn on flip-sheet machining and add a squaring cut so the sheet can be flipped over and re-referenced against the machine accurately. The make-or-break detail: your squaring cut should remove exactly half of your total width/length trim, so the first side and the flipped side each take their share and the parts land where they should.
This guide follows Mozaik's official walkthrough. Watch the original on Mozaik's channel:
What "nesting" and "flip-sheet" actually mean
Nesting is letting Mozaik arrange your parts onto full sheets of material so the CNC can cut them efficiently. For most parts that's a single pass on one face. But some parts need work on both faces — the classic example is a shaker door, where you profile/pocket one side and then drill hinge cups from the other. To machine the back, the whole sheet gets physically flipped over and run again. That's "flip-sheet" (also called flip-side) machining, and it demands more setup precision because any misalignment doubles when you turn the sheet over.
The workflow below is the sequence the video recommends before you commit good material: get the bed flat, prove the machine is aligned, run a test door, then set up the real flip-sheet job.
Step 1 — Skim (surface) your spoilboard first
Flip-sheet work relies on a flat, true work surface, so start by skimming the spoilboard to clean out dents and indentations left by earlier cuts.
- Many CNCs have their own native skimming routine that updates the spoilboard thickness automatically. Mozaik also has a skimming program, but if you use it you must manually update the board thickness afterward so future jobs stay consistent.
- Before skimming, drop the recorded spoilboard thickness by the small amount you want to remove. In the video the recorded thickness was 17.2 mm and was changed to 16.9 mm — roughly a 0.3 mm pass — because their cutout tool typically dips about 0.2–0.25 mm into the board.
- Run the skim, then check the result. You don't always need it perfect everywhere; the goal is that the area you'll be cutting on is flat. Deep spots near the very edges may not matter for the parts you're running.
Step 2 — Understand why an alignment test matters
On your machine the drill bank and the router/spindle are physically in different locations. The distance between them is stored in a settings table the video calls the machine's "global origin" table. If that stored distance is even slightly off, a hole and a routed edge won't line up.
There are really two things to prove:
- Is the drilled hole in alignment with the routed square? (router-to-drill alignment)
- Are both the router and the drills square and true to the machine's reference pins/stops — the pop-up pins, bar, or fences you push your sheet against?
Why it matters more for flip-sheets: on a normal one-sided job your width/length trims (often around 5 mm in metric) give you tolerance that hides small misalignment. On a flip-sheet there's no hiding it — if you're out by 1 mm and flip the sheet, you're now out by 2 mm. With a hinge hole sitting only ~3 mm from the edge, that error can push the hole dangerously close to the edge.
Step 3 — Build a simple alignment test in Mozaik
The idea: cut a routed square a known distance in from two reference edges, drill a hole dead-center, then measure whether everything landed where it should. How the video set it up:
- Go to the Optimizer and create a new job (e.g. named "alignment"). Select your material (they used 18 mm MDF on the machine).
- Add the material, then set the sheet width and length to roughly match the offcut you're using (they used about 1200 x 230 mm). Set the trims to zero so the part sits hard against the reference edge — you want no extra tolerance for this test.
- Add a new part sized as a square (they used 200 x 200 mm). Go into the part's operations.
- Add a drill hole positioned a set distance in from the edge (100 mm in each direction), shallow, with a small diameter your machine actually has (a 10 mm deep hole, 5 mm bit in the example).
- Instead of a real cutout, create a closed tool path for the square. Set it to sit 50 mm in from each edge with a 100 mm overall length, so the square's edges land 50 mm in and the hole lands 100 mm in. Set the cut depth deep enough to get past the down-cut portion of a compression bit (they used ~7–8 mm).
- Select the routing tool (their "10 comp"). Because the path is cut on the tool center line, the actual trench edge sits half the tool diameter further in — so they offset the path inward by 5 mm to compensate for the ~10 mm tool. Measuring the resulting trench with calipers is also a handy way to confirm the tool's true diameter.
- Optimize, then generate G-code. To keep the test clean, delete the cutout path so the machine only drills the hole and routes the square (no part cutout). Export the G-code to your machine (network folder or USB — your workflow).
Step 4 — Run the test and measure it
Run the program, then measure with the most accurate tools you have (a tape gets you close; calipers/verniers are better for the routed trench). What to check:
- Is the routed square the correct distance in from each edge (e.g. 50 mm in X and 50 mm in Y)?
- Is the hole the correct distance in from each edge (e.g. 100 mm both ways)?
- Is the hole exactly centered in the routed square?
A real-world warning from the video: don't use a tiny offcut. Their first test piece was small and the tool pressure shifted it, ruining the route. Use a piece big enough that it can't move, and re-run. In their second (good) run the routing was essentially dead-on (~49.95 mm), but the drilled hole was about 0.25 mm short in both X and Y — small, but on a flip-sheet that becomes ~0.5 mm of hole-to-route mismatch.
Step 5 — Adjust the machine if the test shows drift
If only the drilling is off, you adjust the drill references — not the routing — in the machine's global origin settings. The video is explicit that this varies by machine:
- Newer machines often have a single global origin setting that shifts all drills at once.
- Older machines (like the one filmed) may require adjusting each individual drill's X/Y offset separately.
- These screens are frequently password-protected. If you don't have access or aren't sure which direction to shift (positive vs negative depends on your machine's motion), reach out to your machine's provider/tech.
Pro tip from the video: before changing anything, photograph the existing offset values with your phone so you can always revert. In the example they shifted the drill X and Y offsets by 0.25 mm to compensate, re-ran the test, and confirmed it landed on target — then applied the same change to every drill.
The goal isn't theoretical perfection; it's that your borders and your hole are equal and consistent — ideally within about half a millimeter — so flipping the sheet won't shift a hole by a millimeter or two.
Step 6 — Run a test door before cutting the real job
Before committing sheets, run one test part (a standard shaker door in the video) to confirm tool depths and the panel tool group are dialed in.
- Bring a standard shaker door in from the order tab (
Ordertab), with heights set, a cutout-tool profile, and the inside-profile tool set. - In the product's parts and operations, the shaker pocket can use a panel tool group made of multiple tools (the example: an 8 mm down spiral plus a 22.5° V-bit) so one product line item drives several tools in sequence.
- Using the "use pocket tool" option lets Mozaik sift through your tool set and pick the most appropriate pocketing tool for the surface automatically. Keep the pocket-tool depth and the tool-group depth matched (both 4 mm in the example) — a mismatch shows up as a little step on the inside edge.
- Optimize the one part, reuse your test offcut, and shift the part clear of previous operations (right-click the part and change its X position — they moved it 200 mm). Re-measure the offcut and update width/length so the part fits.
- Generate G-code. The operations run top-down: pocketing first, then the down-spiral cleans the corners left by the big hogging tool (a 40 mm diamond/PCD hog in the example, which leaves a ~20 mm radius the spiral trims down to ~4 mm), then the V-bit ramps in/out of the corners at its own angle for crisp square corners, then the compression cutout finishes the part.
- What you're looking for: no step between the hogging tool and the down-spiral pass, and a clean V-bit pass — so painters/sanders have nothing to fix. (Board quality matters here; machine-grade board cuts cleaner than standard.)
Step 7 — Measure the real sheets and decide your trims
Now set up the actual flip-sheet job. First, physically measure the sheets you'll run and eyeball them for damage (more damage = more trim allowance).
- Measure both directions. In the example: ~1212 mm one way and ~2419–2420 mm the other.
- The critical dimension is the width that won't be over-trimmed. Go slightly conservative — under the measured size — so you never trim past the real material. They set width to 1210 (just under 1212).
- For the length direction (the trim cut that cleans the long edge), go slightly over so the tool runs fully past the sheet end and doesn't leave a little nub. Add roughly the tool radius: they set length to 2425 (over the ~2419–2420), partly because on a full-bar back fence, a trim that doesn't cut all the way through will hit the bar and shove the sheet off by the trim amount.
Step 8 — Know which way the sheet flips, and which edges to trim
This is the part that confuses people. The edges you trim in Mozaik are the opposite edges from where your reference pins/stops are.
- Identify where your stops are. In the video the stops are along the back edge and one side edge — that's where the sheet is pushed to.
- You trim the front edge and the opposite side edge. Reason: after the first side is machined, the sheet is rolled over onto itself, and the freshly-trimmed square edges become the edges that now sit against the pins — so the flipped sheet references true and square.
- Which way to flip? Roll it over on itself (the manageable direction). On heavy stock (21 mm MDF in the example) the other direction is impractical for one person.
Step 9 — Set sheet size and trims in Mozaik
In the material list, confirm the sheet size for this job rather than trusting the default (the default was 2410 x 1210, but flip-sheet work needs the real numbers).
- Set sheet length and width to the conservative/over values you chose (e.g. 2425 length, 1210 width).
- Set the width trim and length trim. The video used 10 mm and 10 mm to keep it clear and forgiving — that total trim is your overall allowance for sheet discrepancies and edge damage. (With experience you might tighten this, e.g. to ~6 mm and ~3 mm.)
- Think of the width/length trim as the position the finished parts come out from, and the squaring cut as half of that amount.
Step 10 — Optimize with flip-side parts grouped first
On the optimizer screen, turn on the option to "sheer / flip-side parts first." This pushes all parts that need flipping onto the first sheet(s), so you flip as few sheets as possible instead of scattering one flipped door across sheets 1, 5, and 10.
- Leave "automatic clip parts" on.
- If you only have one material, you can uncheck batch optimize.
- "Large parts first" is fine to leave on; it won't change the flip-sheet behavior.
- Optimize. In the example this produced three sheets of material.
Step 11 — Add the squaring cut at 50% of your trim
This is the single most important number in the whole process. When you generate G-code for a flip-sheet pattern, Mozaik prompts for flip-sheet options. Turn on "add square and cut" and set the squaring-cut trim to exactly half of your width/length trim.
- Width/length trim was 10 mm, so the squaring cut is set to 5 mm.
- The squaring cut removes 5 mm and squares the sheet; the remaining 5 mm comes off when the flipped parts are repositioned and cut on the second pass. The result is the parts cut right up to your intended line.
- Mozaik then offers four trim-corner choices (which corner gets squared). Pick the one whose highlighted edges match your machine — i.e. the trimmed edges end up opposite your stops so the flipped sheet re-references correctly. In the example, the choice showing the cut along the side and the front edge was correct.
- You can save these as default, so once your trim-cut value (5 mm) and your corner choice are set, you won't need to re-enter them.
You can generate and export every pattern at once: choose view all patterns, generate G-code, and tick the option to create/generate flip-sheet programs. You'll get the same squaring-cut prompt for the batch.
Step 12 — Run the first-side file, then flip and run the second
For flip-sheet patterns Mozaik exports paired program files. They share the same program name (e.g. "S01 R02") but one has an "F" in the name and one doesn't.
- Run the "F" file first — treat that letter as the indicator of the file that contains the squaring cut and the first side. (Whether "F" stands for "flip" or "first" doesn't matter; run it first.)
- After the first side cuts, physically flip the sheet over onto itself and push the newly-squared edges back against the pins.
- Run the second file. The squaring cut already took its share; the second pass takes the remaining amount, landing your features (like a hinge cup ~3 mm from the edge) in the right spot.
- Verify: the trimmed line should show about half your trim remaining, the hole/route distances off the pins should be correct, and you can run a tape over the hinge locations to confirm.
Why the half-trim rule works (quick recap)
Your total trim (say 10 mm) is split into two equal bites of 5 mm. The squaring cut takes the first 5 mm and gives you a dead-square reference edge. When the sheet flips and the parts are cut, the second 5 mm comes off, so the part edges meet your intended line from both directions and the front/back features stay aligned. Get this 50% relationship wrong and your flipped features drift — which is exactly the failure mode the alignment test in Steps 2–5 is there to prevent.
Related guides
- How to Set CNC Toolpath Properties in Mozaik
- How to Design MDF Doors in Mozaik
- How to Set Up Hinges in Mozaik
- How to Add Boring to the Back of a Cabinet in Mozaik
- Line bore vs custom bore (PAC Closet Library)
- How to Set Up Labels in Mozaik
Get it done-for-you
You can set this up yourself using the steps above. If you'd rather skip the setup, PAC's Mozaik training and done-for-you services can help — phillanton.com.
Full disclosure: this guide is published by Phill Anton Consulting.
FAQ
Why do I trim the edges opposite my machine's stops?
Because after the first side is machined, you flip the sheet onto itself and the freshly-trimmed (now square and true) edges become the ones that sit against the pins. Trimming the edges opposite your stops is what makes the flipped sheet re-reference accurately.
How big should my squaring cut be?
Exactly half of your total width/length trim. If your trim is 10 mm, set the squaring cut to 5 mm — the first pass takes 5 mm and squares the sheet, the second (flipped) pass takes the other 5 mm.
Do I really need the alignment test every time?
The test proves your drilled holes and routed edges line up with each other and with the machine's reference pins. On normal one-sided jobs, trim tolerance can hide small misalignment, but on flip-sheets the error doubles when you flip — so it's worth running the test (and adjusting the drill offsets if needed) before committing material to flip-sheet work, especially with a new tool setup.
Why did the video say to use a big offcut for the test, not a small one?
A small test piece can shift under tool pressure, which ruins the routed result and gives you false readings. Use a piece big enough that it won't move, so your measurements actually reflect the machine's alignment.