Week 07 - Computer Controlled Machining#

Week 7 is all about Computer Controlled Machining β€” this is the week where we go big. Literally. The brief is to design and fabricate a meter-scale object from sheet material using a CNC router. No more laser-cut cardboard prototypes, this time we’re cutting full sheets of plywood on a ShopBot.

I used this week as an opportunity to design something I actually wanted β€” a Lazy Boy–style recliner chair driven by a four-bar linkage mechanism. Mechanical engineering background finally coming in handy 😎


Group Assignment#

  • Do your lab’s safety training
  • Test runout, alignment, fixturing, speeds, feeds, materials, and toolpaths for your machine

Individual Assignment#

  • Make (design + mill + assemble) something big (~meter-scale)

Extra Credit Goals

  • Don’t use fasteners or glue
  • Include curved surfaces
  • Use three-axis toolpaths

What I Learned#

This week gave me a proper end-to-end understanding of the CNC machining workflow β€” from theory all the way through to a finished, sanded, assembled object.

Key things I picked up:

  • How CNC milling parameters (feed rate, step-over, spindle speed) affect cut quality and material
  • How to design a four-bar linkage using a custom HTML simulator I built with Claude
  • Why parametric design in Fusion 360 + the Arrange feature makes CNC iteration dramatically faster
  • How press-fit tolerances translate from a test gauge into a real assembly
  • How to set up VCarve Pro toolpaths and send them to the ShopBot
  • Post-processing techniques: tab removal, sanding, and edge filleting with a wood router

Software Used#

  • Fusion 360 β€” parametric CAD modeling and part arrangement for DXF export
  • VCarve Pro β€” CAM toolpath generation for the ShopBot
  • Claude (AI) β€” HTML four-bar linkage simulator for determining link lengths
  • CATIA β€” ergonomic analysis (RULA & REBA)
  • Inkscape β€” opening and preparing DXF files for laser cutter prototype
  • ShopBot Software β€” machine control and file sending

Tools Used#

Tool Purpose
Cordless drill Screwing the plywood to the CNC bed
Screws Securing plywood to the
Mallet Assembling press-fit joints
Chisel Removing tabs and cleaning edges
Hammer General assembly work
Sandpaper (80 grit) Rough sanding and smoothing surfaces
Rasp file Shaping and removing material from edges
Half-round file Smoothing curved surfaces and slots
Reciprocating sander Faster surface finishing
Wood router Edge filleting and chamfering
F-clamp Holding pieces during assembly and gluing

Weekly Schedule#

Day What I Did
WED Lecture on computer-controlled machining
THU Group Assignment
FRI Design of the chair
SAT Rula and Reba analysis and testing out by cutting the deign in cardboard
SUN Cnc Milling the Plywood and post processing
MON Assembly of the chair
TUE Regional review

Group Assignment – CNC Test Gauge#

For the group assignment, we designed and milled a runoff test gauge to characterise the ShopBot’s capabilities and determine the correct press-fit tolerances for our plywood stock.

Understanding the ShopBot#

ShopBot CNC router in the lab

Our instructors Mr. Mufeed and Mr. Ravishankar introduced us to the ShopBot CNC router available in our lab. The machine has a bed size of 8 feet Γ— 4 feet, which is large enough to mill full standard sheets of plywood in a single setup.

Before touching the machine, we went through the necessary safety briefing.

Safety briefing session before using the ShopBot

PPE required at all times while the machine is running:

Equipment Purpose
Safety goggles Eye protection from flying chips and debris
Dust mask / respirator Prevents inhalation of wood dust and fine particles
Ear protection The spindle and vacuum extraction system generate continuous high noise levels

Clothing rules:

  • No loose clothing β€” can get caught in moving parts
  • Long hair must be tied back
  • No watches, bracelets, bangles, or dangling accessories

Safety PPE β€” goggles, mask, ear protection


Press-fit tolerance result:#

The optimal slot width for a snug press-fit with our plywood was determined to be 0.1 mm β€” slightly less than the nominal material thickness to account for the machine’s tolerance and any material variation.

pressfit-tolerance-result

Check out the full group documentation for all the test results and measurements: πŸ”— https://fabacademy.org/2026/labs/kochi/group_assignmetns/week07/


Part 1 – Concept and Mechanism Design#

πŸ’‘ The Idea: A Lazy Boy Recliner#

For the individual assignment, I wanted to make something that was actually useful β€” not just a stool or a shelf like you see in a lot of CNC week projects. Since I’m a big fan of lying down , I decided to design a Lazy Boy–style recliner chair.

The challenge: most commercial recliners use pre-built metal mechanisms that are designed for mass manufacturing, not CNC fabrication from sheet material. I needed a simpler mechanical approach that I could actually mill and assemble.

Reference image of a Lazy Boy recliner chair


βš™οΈ The Four-Bar Linkage Solution#

After thinking about it for a while, I realized the reclining motion could be replicated using a four-bar linkage β€” a classic mechanism I’d studied during my mechanical engineering coursework.

A four-bar linkage consists of four rigid links connected by pivot joints. By choosing the right link lengths, you can control the path and angle that any point on the mechanism follows β€” which is exactly what you need to make a seat recline smoothly while also adjusting the footrest.

Four-bar linkage diagram β€” showing the four links and pivot joints

πŸ“š Resources for Manual Calculation#

If you want to understand the underlying math behind four-bar linkage analysis (position, velocity, acceleration), these resources are excellent references:


πŸ€– Building a Simulator with Claude#

Manually calculating the correct link lengths for the desired motion would involve a lot of iterative trial-and-error math. I first tried setting up the simulation in Desmos, but it quickly got cumbersome with the nested equations involved.

Instead, I used Claude (the AI assistant) β€” I described my design requirements: the range of motion, the seat-to-ground angle constraints, the footrest travel arc. Claude generated a clean HTML-based four-bar linkage simulator that let me drag sliders to adjust each link length and see the resulting motion in real time.

πŸ”— Open Simulator in New Tab

This tool was a huge time-saver β€” within 15 minutes ( wouldve taken 3-4 hpurs manually calculating or creating an excel sheet for the calculation ) I had the correct link lengths for both the seat mechanism and the footrest linkage.

Final link lengths determined from the simulator:

Link Length (mm) Description
L1 Ground (A→D) 471 mm Fixed base distance between the two ground pivots
L2 Crank (A→B) 182 mm Backrest support arm
L3 Coupler (B→C) 450 mm Seat connecting link
L4 Rocker (C→D) 205 mm Footrest output link

Part 2 – CAD Modeling in Fusion 360#

πŸ–₯️ Why Fusion 360?#

I chose Fusion 360 for this project instead of my usual SolidWorks. The deciding factor was its parametric workflow combined with the Arrange feature.

Here’s why that matters for CNC work specifically:

  • All key dimensions (material thickness, link lengths, slot widths) are defined as parameters in one place
  • Changing a parameter automatically propagates through every sketch and feature in the model
  • The Arrange feature lets me lay out all parts flat on a virtual sheet, directly reflecting any design changes
  • That arranged layout can be exported directly as a DXF β€” ready for VCarve or Inkscape
  • No more: change design β†’ export β†’ open in nesting software β†’ re-nest β†’ re-export β†’ repeat forever

This made the iteration loop dramatically faster, especially when I was tweaking the linkage geometry.

Fusion 360


πŸ“ Building the Model#

I started by building sketches using the link lengths from the simulator, then modeled the full chair structure around the four-bar linkage geometry.

Components in the design:

Component Description
Seat platform Main sitting surface
Backrest Reclines via the four-bar linkage
Footrest Extends when reclining
Side frame (Γ—2) Main structural panels with pivot holes
Cross braces Lateral stiffeners connecting the two side frames
Linkage arms The actual four-bar links (cut from plywood)

The complete model took almost a full day to build β€” getting all the pivot positions to line up correctly and ensuring the linkage moved through its full range without any part-to-part interference took a lot of back-and-forth.

Fusion 360 full assembly β€” the complete recliner model in 3D


πŸ”© Press-Fit Joinery Details#

Throughout the design, I incorporated the press-fit tolerances we measured during the group assignment. The joinery uses:

  • Press-fit slot connections for the main structural frame joints
  • Dogbone fillets at all interior corners of slots and pockets β€” essential for CNC work because the router leaves a circular radius at every corner, and without dogbones the mating piece won’t seat fully

🦴 Using the Nifty Dogbone Add-in#

Rather than manually sketching dogbone fillets at every interior corner (which would have taken forever with this many slots), I used the Nifty Dogbone add-in for Fusion 360. This automatically generates dogbone fillets for all selected edges in one click.

Step-by-step process:

  1. Install the add-in β€” Go to Fusion 360 β†’ Utilities β†’ Add-Ins β†’ Scripts and Add-Ins. Search for “Dogbone” in the Fusion App Store. Or go directly to https://apps.autodesk.com/FUSION/en/Detail/Index?id=3534533763590670806&appLang=en&os=Win64 and download and install it

  2. Open Add-Ins Manager β€” Press Shift + S or go to Utilities β†’ Add-Ins β†’ Scripts and Add-Ins

  3. Enable Nifty Dogbone β€” Find “Nifty Dogbone” and enable it.

Nifty Dogbone add-in enabled in Fusion 360

  1. Open Nifty β€” With the add-in enabled, you can open it from solid -> modifty -> Nifty Dogbone

Nifty Dogbone dialog open

  1. Select the component β€” In the dialog, select the component containing slots that need dogbones. The add-in will automatically find all interior corners on that component.

  2. Set the tool diameter β€” Enter the diameter of your CNC end mill (this determines the radius of the dogbone fillet). I used the same 6mm end mill diameter we were cutting with on the ShopBot.

  3. Click OK β€” The add-in automatically finds all interior corners on the selected faces and adds dogbone fillets to each one

Nifty Dogbone parameters and settings

This saved me easily 2+ hours of tedious manual filleting β€” the chair design had dozens of interior corners across all the slots and joints.


πŸ“¦ Arranging Parts and Exporting DXF#

Once the design was finalized, I used Fusion’s Arrange feature to lay all parts flat on a virtual 8ft Γ— 4ft sheet β€” mimicking the actual plywood dimensions.

Then I exported the arranged layout as a DXF file, which I could open directly in VCarve Pro for CAM setup.

Fusion 360 Arrange feature with all parts laid flat


Part 3 – Cardboard Prototype#

Before committing to milling full plywood, I scaled the design down and cut a cardboard prototype to verify that the mechanism actually worked.

Scaling down the design:

Since I had already arranged the files and exported the DXF for the full-scale plywood version, I used a simpler approach β€” I opened the DXF in Inkscape and used the Object β†’ Transform β†’ Scale functionality.

To calculate the correct scale ratio, I needed to account for both the material thickness change and the kerf difference:

  • Original: 17.5 mm plywood
  • Target: 3 mm cardboard with 0.33 mm kerf

Using the ratio calculation, I scaled the entire design proportionally to fit the cardboard dimensions while maintaining all the joint tolerances. This was much faster than going back to Fusion and re-exporting.

Using Inkscape’s Transform β†’ Scale to resize the DXF

Assembly:

I assembled the cardboard prototype using aluminum shielded wire as pivot pins β€” perfect for testing linkage motion at this scale.

Result: The linkage worked perfectly. The backrest reclined smoothly, the footrest extended correctly, and no parts collided throughout the full range of motion. βœ…


Part 4 – Ergonomic Analysis in CATIA#

Before cutting full-scale plywood, I performed an ergonomic analysis of the chair to confirm it would actually be comfortable to sit in.

πŸ“Š RULA Analysis#

I imported the chair design into CATIA and ran RULA (Rapid Upper Limb Assessment) β€” evaluates the posture of the upper body (neck, arms, wrists, shoulders)

This wasn’t my first time running ergonomic analyses on seating designs, so I was familiar with the process. The analysis was run for both the upright seated position and the reclined position.

CATIA RULA analysis β€” upright seated position showing the posture score

Results:

Analysis Position Score
RULA Upright 2

The results confirmed the chair provides a comfortable posture in both positions. Any minor issues flagged by RULA in the upright position were acceptable given that the primary use case is the reclined position.


Part 5 – CNC Machining on the ShopBot#

πŸ—‚οΈ VCarve Pro CAM Setup#

With the design confirmed and the ergonomics validated, it was time to set up the actual CNC toolpaths in VCarve Pro.

Cutting parameters used:

Parameter Value
End mill diameter 6 mm
Pass depth 4.5 mm
Feed rate 1200.2 mm/min
Plunge rate 1200 mm/min
Spindle speed 1200 RPM
Tab width 5 mm
Tab height 3 mm

Machine Setup Workflow#

Before running any job, we went through the standard ShopBot setup procedure:

  1. Set X and Y limits β€” establishing the machine’s coordinate reference point on the bed
  2. Secure the workpiece β€” the blank plywood sheet is screwed down to the bed to prevent any movement during machining
  3. Set X, Y, Z offsets relative to the workpiece β€” zeroing out the tool position relative to the top surface of the material

Toolpath Generation in VCarve Pro#

For generating toolpaths, we used VCarve Pro β€” the standard CAM software that ships with the ShopBot system. Here’s the complete workflow I followed to prepare my design for machining.


Step 1: Create a New Project#

Open VCarve Pro and select Create New File to start a new project.

VCarve Pro β€” Creating a new file


Step 2: Set Material Dimensions#

Configure the job setup by entering the material dimensions and thickness. For my project, I set the sheet size to match the 8ft Γ— 4ft plywood sheet with a thickness of 17.5 mm.

VCarve Pro β€” Setting material dimensions and thickness


Step 3: Import the Vector File#

Import the DXF file exported from Fusion 360. Go to File β†’ Import β†’ Import Vectors and select your DXF file.

VCarve Pro β€” Importing vectors (part 1) VCarve Pro β€” Importing vectors (part 2) VCarve Pro β€” Vectors imported successfully


Step 4: Position the Design#

Move and align the imported vectors to fit properly on the workpiece canvas. Use the Move and Align tools to position all parts within the material boundaries.

VCarve Pro β€” Positioning vectors on the canvas

Click Apply and Close to confirm the positioning.

VCarve Pro β€” Apply and close the positioning dialog


Step 5: Create Screw Hole Markers#

Before cutting any parts, we need to secure the workpiece to the spoil board. Create circles at strategic locations (corners and center areas away from parts) to mark where screws will be drilled.

VCarve Pro β€” Creating circles for screw hole positions VCarve Pro β€” Selecting Drilling Toolpath from the menu VCarve Pro β€” Selecting the drill bit


Step 6: Set Up the Drilling Toolpath#

Navigate to the Toolpath menu and select Drilling Toolpath. This will create the toolpath for drilling the screw holes.

VCarve Pro β€” Configuring drilling parameters (part 1) VCarve Pro β€” Configuring drilling parameters (part 2)

Select the appropriate drill bit from the tool library and configure the drilling parameters:

VCarve Pro β€” Drilling toolpath complete

VCarve Pro β€” Selecting vectors for inside cuts VCarve Pro β€” Profile toolpath settings for inside cuts VCarve Pro β€” Configuring the end mill parameters VCarve Pro β€” Setting pass depth and feed rates#

Step 7: Create Inside Profile Toolpaths#

Select all vectors representing internal cuts (slots, holes, and interior pockets). Apply the Profile Toolpath with the Inside/Left cutting direction. This ensures the tool cuts on the inside of closed shapes.

VCarve Pro β€” Adding tabs to hold parts in place VCarve Pro β€” Tab configuration settings VCarve Pro β€” Inside profile toolpath preview VCarve Pro β€” Selecting vectors for outside cuts VCarve Pro β€” Outside profile toolpath configuration VCarve Pro β€” Final toolpath overview


Toolpath Types Summary#

Toolpath Type Purpose
Drilling Creates screw holes to secure the workpiece
Profile (Inside) Cuts internal slots, holes, and interior shapes
Profile (Outside) Cuts the outer contour of parts to release them
Pocket Clears material from enclosed areas

The sequence of operations matters for successful CNC machining:

  1. Drilling first β€” Secure the workpiece with screws before any cutting begins
  2. Pockets second β€” Clear any recessed areas while the material is still fully supported
  3. Inside profiles third β€” Cut all internal features (slots, holes)
  4. Outside profiles last β€” Final cuts to release parts, with tabs keeping everything in place until the job completes

Adding the z-offset

---

πŸ”§ Running the Job#

With the ShopBot set up and the workpiece secured, I sent the toolpath file and ran the job.

ShopBot setup ShopBot workpiece secured ShopBot ready to cut


Part 6 – Post-Processing#

βœ‚οΈ Tab Removal#

After the CNC job finished, the first step was removing the parts from the sheet by cutting through the tabs.

Parts after CNC cutting Removing tabs Parts removed from sheet All parts laid out


πŸͺ΅ Sanding#

Once all the parts were freed, I sanded all surfaces to smooth out any machining marks and rough edges. I worked through grits progressively β€” starting coarser to remove tool marks, finishing finer for a smooth surface.


πŸ”΅ Edge Filleting with a Wood Router#

To improve both the aesthetics and user comfort of the chair (you don’t want sharp plywood edges digging into your legs), I used a wood router fitted with a fillet / roundover bit to round off all the exposed edges.

This step made a huge visible difference β€” the chair went from looking like a raw CNC project to looking like something deliberately designed.


Part 7 – Assembly#

With all parts post-processed, it was time to put it all together.

The press-fit joints assembled without any glue β€” the tolerances from the group assignment test gauge meant everything locked together firmly with hand pressure.

The pivot joints for the four-bar linkage were assembled using bolts and locking nuts, allowing the linkage to rotate freely while staying tight enough not to wobble.

Hero Shots#

Hero shot 2 Hero shot 3 Hero shot 4
Hero shot 6 Hero shot 8

Helpful Websites#


Reflection#

This was probably the most satisfying week so far. Every previous week built up skills that I ended up using here β€” the parametric design thinking from Week 2, the press-fit knowledge from Week 3, the ergonomics background from before Fab Academy. It all came together in one object I can actually sit in.

The four-bar linkage was the part I was most nervous about β€” it’s one thing to see it work on paper or in a simulator, and a completely different thing to cut it out of plywood and have it actually move. When the cardboard prototype worked first try, I was honestly surprised. When the full-scale chair reclined smoothly on the first assembly attempt, that was a great feeling.

The parametric Fusion 360 workflow genuinely saved me hours β€” every time I tweaked the linkage dimensions the DXF update was automatic. That’s the kind of thing that sounds boring until you’ve done it the painful manual way a few times.

Next up: Electronics Production week. Time to actually mill the PCB I designed in Week 6 😎


⬇️ Download All Files from Week 7