Article

Introducing SnugCut

...or 'Wasting less plywood, one puzzle at a time'

Tech · · 6 min read Snugcut Apps Laser-Cutting

Introduction

In From Clean White to The Blues I mentioned a new Apps section and that the first one was SnugCut. This post is the proper introduction: what it is, how it came together, and a tour of what it does.

The short version: you give SnugCut the shapes you want to cut, tell it how big your sheet is, and it fits the pieces together as tightly as it can, like a puzzle. Then it hands you back a file you open in your cutter’s own software. It works for laser cutters, vinyl cutters (like a Cricut or Silhouette), CNC routers and plasma cutters.

SnugCut nesting its sample parts onto two 300 by 300 mm plates in True shape mode

Why I Built It

While I know some people love playing Jengo with their cut objects, I’m not one of them. I was recently faced with having to lay 22 pieces across what I thought would take 6 pieces of material. So in true “take more time building the tool than to just do the thing” fashion I started vibe-coding what began as a simple layout builder. Once I saw it working in under 30 minutes I was hooked and have been tweaking since.

The SVG files it writes are checked against WeCreat MakeIT, the software for the WeCreat Vision Pro 45W, and that format is locked down so it doesn’t change out from under anyone.

How It Came Together

SnugCut started life as a single HTML page called Plate Nester. You opened it in a browser and that was it: no install, no account, no server. It got renamed to SnugCut when it became the first beta, and the “one file you can double-click” idea has stuck around ever since.

From there it moved fast:

  • 1.0.0-beta was the first beta: both nesting modes, DXF import and export, cut order, and optional kerf compensation.
  • 1.1.0-beta split the code into a library that does the actual nesting and an app that wraps it, which is what let me drop it into this site as an app. The single-file version is still built from the same code.
  • 1.2.0-beta through 1.7.0-beta came out over the next nine days, adding nesting parts inside other parts’ holes, an efficiency rating, a smarter search, more background workers, and a long list of fixes. As of this writing the tracker has almost 300 issues on it, and all but a handful are closed.

Each release also went through a review round before it shipped, and the changelog lists every change along the way if you like reading that sort of thing.

What It Does

Two Ways to Nest

There are two modes, picked with the switch at the top of the page:

The True shape and Bounding box switch

  • True shape fits parts together by their real outlines and rotates them so they tuck into each other’s gaps. It’s the default, and it keeps searching for a better layout in the background while you look at the current one.
  • Bounding box treats every part as a rectangle and packs those. It’s fast, and it gives the same layout for the same parts every time.

Parts Inside Parts

If a part has holes in it, like a round coaster with its middle cut out, SnugCut can nest smaller parts inside those holes instead of throwing that material away. It’s off by default, since you only want it when every inner outline actually gets cut through, and it’s a per-part button in the parts list.

It also cuts the small parts first, before the part around them, so the inside piece can’t drop or shift before they’re free. With the sample parts, turning it on puts the stars inside the coasters and takes the efficiency from 5 out of 10 to 6.

How Well Did It Do?

Across the top of the results you get the number of plates, the fewest plates the job could fit on by area alone, how much of each plate the parts use, and an Efficiency rating from 1 to 10. The rating counts the last plate only up to one straight cut past its parts, so a layout that leaves you a big usable offcut scores better than one that scatters parts across the whole sheet. When it thinks a longer search could save a whole plate, it says so, and the Search 30 s more button keeps going.

The results for the sample parts: two plates, 42% average utilization and an efficiency of 5 out of 10, with the Search 30 s more button

Your Parts, Your Way

You add files by dropping them on the page or browsing for them. SVG and DXF both work, including DXF files that don’t say what units they were drawn in (there’s a menu to fix that). Each part gets a quantity and an orientation button that cycles between:

  • Free: turns at whatever rotation step you’ve picked.
  • Grain: only flips end for end, so wood grain or brushed metal runs the same way on every copy.
  • Locked: never turns.

The parts list with quantities, the holes button and the orientation buttons for each sample part

Plate, Kerf and Export

The Plate & cutting box holds the sheet size, the kerf (the width of material the beam, blade or bit removes), extra spacing, the edge margin, rotation steps, and the export format: one SVG per plate, DXF if your software prefers it, or a zip of all of them.

If you turn on Compensate kerf on objects, SnugCut builds the kerf into the files so parts come out at their drawn size. That comes with a big warning, because if you leave kerf offset on in your cutter’s software too, it gets applied twice. There’s also a helper that works the kerf out from a test cut.

The Plate and cutting settings: plate size, kerf, spacing, margin, rotation and export format

Searching Harder

The Search Options box picks how True shape hunts for better layouts: the default walks through different part orders, while the genetic search breeds new layouts from the best ones so far and usually does better on big jobs or fine rotation steps. You can also add up to three more background workers to try more layouts in the same amount of time, if your computer has the memory to spare.

The Search Options box with the search method and worker settings

Private by Design

Everything happens in your web browser. Your files are never uploaded anywhere, and your settings are only remembered in your own browser. It also follows this site’s light and dark modes:

SnugCut in dark mode

What’s Next

SnugCut is still in beta, so if something nests badly, a file doesn’t import the way you expect, or you have an idea, let me know on the issue tracker.

Comments are hosted by Disqus. Showing them sends your visit to Disqus and its partners.