Individual assignment
Make (design+mill+assemble) something big (~meter-scale)
• extra credit: don't use fasteners or glue
• extra credit: include curved surfaces
• extra credit: use three-axis toolpaths
Group assignment
- Do your lab's safety training
- Test runout, alignment, fixturing, speeds, feeds, materials, and toolpaths for your machine
What I knew beforehand
Before this week I had never operated a CNC router of any kind. My experience with digital fabrication was limited to the laser cutter and 3D printer — both of which are much more forgiving machines. The CNC router is different: it is large, loud, and powerful, the bit can break or the material can fly if something goes wrong, and the software workflow is significantly more complex.
What I did understand was the logic of a production process: design constraints flow downstream into fabrication decisions, and every choice about geometry, material, and tooling has cost and quality implications. That systems-level thinking helped me approach the week's assignment deliberately rather than reactively.
I chose to design a bench — compact, functional, and structurally interesting — and to personalize it with Snoopy imagery, because the character already featured in my final project (PitchLight) and because it gave me a chance to practice multiple toolpath types on a single piece.
The bench was designed in Fusion 360 and exported as DXF files for import into VCarve Pro. The files went through several versions as I iterated on the slot dimensions and the Snoopy vector:
| File | Part | Version notes |
|---|---|---|
Top.dxf | Top surface | Initial version |
Top_v3.dxf | Top surface | Corrected slot width and fillet adjustments |
Top_v4.dxf | Top surface | Final version with Snoopy engraving area |
Side_01_v3.dxf | Side panel 1 | Snoopy silhouette window + SNOOPY text |
Side_02_v2.dxf | Side panel 2 | Mirror of Side 01 with matching slots |
snoopy_vector.svg | Snoopy silhouette | Source vector for the cut-through window |
Snoopy1_svg.svg | Snoopy on doghouse | Source vector for V-carve engraving on top |
Snoopy2_svg.svg | Snoopy variant | Alternative vector tested |
1Why internal corners need special treatment
A CNC router bit is cylindrical — it is physically impossible for it to cut a perfectly sharp 90° internal corner. The bit always leaves a rounded radius equal to half its diameter. If your slot is designed to receive a flat-edged part, the rounded corner will prevent the part from fitting flush.
The solution is to add a T-Bone fillet (or Dog-Bone fillet) at each internal corner: a small circular cutout that extends the corner beyond the slot edge, giving the mating part clearance to seat fully. In VCarve Pro, go to Edit → Fillets, select 'T-Bone' Fillet, set the radius to match the bit radius (3.2 mm for a 1/4" bit), and click each internal corner of the slot geometry.
VCarve Pro showing the T-Bone Fillet tool applied to the cross-shaped slot on the bench top. Fillet radius is set to 3.2 mm (half the 1/4" bit diameter). The T-Bone option is selected because the slot width equals the tool width — normal fillets would remove material outside the slot.
Close-up of the finished cross slot cut into the bench top. The four T-Bone fillets are visible at each internal corner — those small rounded extensions ensure the side panels can slide fully into the joint without the router's rounded kerf blocking them.
2Pocket toolpath for the cross slot
VCarve Pro Tool Database with the 1/4" Down-cut (57-910) end mill selected for the Pocket toolpath. Cut depth is 8.0 mm. The down-cut geometry pushes MDF fibres downward, giving a cleaner top surface finish compared to an up-cut bit. Feed rate: 3.0 in/sec, Spindle: 14,000 RPM.
3Inside profile for the Snoopy window in the side panels
VCarve Pro — 2D Profile Toolpath set to Inside/Left for the Snoopy silhouette cut. Cut depth: 13.0 mm (full thickness). The Tabs panel is open on the right: 6 mm length, 4 mm thickness, 3D tabs enabled. Tabs are small uncut bridges that keep the piece from shifting during the last pass.
The first Snoopy silhouette profile cut in MDF. The overall shape is correct but the edges show some tearing at narrow areas of the vector. This was the version that revealed the vector had too many tight curves for the 1/4" bit — which led to switching to a simplified vector for the final cut.
4V-Carve for the Snoopy illustration on the bench top
V-Carve / Engraving Toolpath panel with the Snoopy illustration selected (shown in pink dashes on the canvas). Tool: V-Bit 90° 1.25". Start depth: 2 mm. No flat depth — pure V-carve follows the vector contours.
The same V-Carve toolpath applied to the "SNOOPY" text vector on the side panel. The text is shown highlighted in pink. Start depth: 2.0 mm. The V-bit produces the characteristic tapered groove that gives engraved text its clean, sharp-edged look.
5External profile to cut all parts free from the sheet
VCarve Pro — External (Outside/Right) 2D Profile Toolpath. All outer perimeters are shown selected in pink dashes: the circular top, both side panels, and the SNOOPY text outline. Cut depth: 13.0 mm (full thickness). Tabs are enabled with 6 mm length × 4 mm thickness to hold parts in place during the final pass.
Setting up the ShopBot at the ESAN Fab Lab — checking the Z-zero position before starting the job. The spindle is positioned over the material surface; the collet and dust skirt are visible. The ShopBot control computer is visible in the background.
The ShopBot HSD spindle with the 1/4" down-cut bit installed and the dust collection skirt in position. The skirt captures the majority of MDF dust during cutting, directing it into the vacuum system. The MDF sheet is visible on the bed, held flat by the vacuum table.
Between toolpaths, vacuuming MDF dust from the bed with ear protection and safety glasses on. Keeping the bed clean between passes lets you inspect the work-in-progress and confirms that the previous toolpath completed correctly before starting the next one.
Clearing MDF chips from the ShopBot bed with the shop vacuum. MDF dust is particularly fine and dense — it accumulates quickly and should be cleared between toolpath passes both to see the work clearly and to reduce dust inhalation risk.
The bench top on the ShopBot bed after V-carving and pocket operations, with the circular perimeter profile cut visible. The V-carved Snoopy illustration is faintly visible through the MDF dust on the surface, and the cross-shaped pocket slot is machined into the center.
Post-machining work: removing tabs and cleaning up the edges. A dust mask is essential here — MDF dust is more dangerous when sanded by hand than when cut by machine, because the particles are finer. Gloves protect against splinters from the tab removal process.
Once the tabs were removed and the edges cleaned up, the three parts slot together with light hand pressure. No tools required.
First look at the assembled bench after removing tabs and fitting the parts together. The V-carved Snoopy-on-his-doghouse illustration is clearly visible on the circular top, along with the cross slot that locks the two side panels in place.
Front view of the finished bench — the Snoopy silhouette cut through the side panel creates a clean decorative window, and the V-carved "SNOOPY" text is visible below it. The interlocking cross-slot joint is visible at the base where the two panels meet.
The finished Snoopy bench — and the proof that it holds. The bench passes the structural test: sitting on it at the ESAN Fab Lab with the ShopBot visible in the background. The circular top, the Snoopy silhouette window, and the press-fit joints are all clearly visible.
Reflections
This was the most physically demanding and logistically complex week of Fab Academy so far. The ShopBot is a large, loud, and powerful machine that demands full attention throughout the job. Unlike the laser cutter, where you can step back and watch through a window, working at the CNC router means standing at the machine, monitoring the cut, and making real-time decisions about whether to continue or stop.
The most important lesson was about the relationship between design and material reality. Nominal dimensions — 12 mm MDF, 1/4" bit — are never exactly what you measure in practice. Every dimension in the design needs to account for kerf, bit radius, material variation, and T-Bone overcuts. A designer who does not understand these tolerances will produce files that look perfect on screen but fail in the machine.
The Snoopy bench also taught me something about personalization and meaning in fabrication. The choice to include the Snoopy character — the same one that appears in my final project (PitchLight) — made the piece feel connected rather than arbitrary. A piece of furniture that tells a story, even a small one, is more valuable than a generic object. That observation applies equally to entrepreneurship: products that carry meaning and identity stand out from products that are merely functional.
Resources
All DXF files were created in Fusion 360 and imported into VCarve Pro (ShopBot Edition). SVG vector files were created and cleaned up in Inkscape.
Top_v4.dxf — bench top (final)
Top_v3.dxf — bench top (v3)
Top.dxf — bench top (initial)
Side_01_v3.dxf — Side panel 1
Side_02_v2.dxf — Side panel 2
snoopy_vector.svg — Snoopy silhouette
Snoopy1_svg.svg — Snoopy on doghouse (engraving)
Snoopy2_svg.svg — Snoopy variant
Licensed under CC BY-NC-SA 4.0 — © Marita Chang