COMPUTER-CONTROLLED MACHINING

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: Don't use fasteners or glue
  • Extra credit: Include curved surfaces
  • Extra credit: Use three-axis toolpaths

You can access the group assignment here.

Week Overview

This week focused on learning how computer-controlled machines can be used to fabricate objects from solid materials. The main objective was to understand the workflow of designing, preparing, and machining parts using digital fabrication tools.

For this week’s assignment, we were required to use a CNC milling machine to cut parts from a sheet of wood. Milling is a subtractive manufacturing process where a rotating cutting tool removes material from the workpiece to create the desired shape.

The assignment involved designing a structure that could be assembled without the use of screws or external fasteners. Instead, the parts needed to be connected using joints such as press-fit or interlocking joints. This required careful planning of the design, including measuring the material thickness and adjusting the slot sizes to ensure a tight fit.

Through this process, we learned how to prepare designs for CNC machining, generate toolpaths, and safely operate the milling machine to fabricate the final parts.

Drills vs Mills

Drilling and milling are two common machining processes used to shape materials such as wood, metal, and plastic. Although both processes use rotating cutting tools, they are designed for different purposes and produce different results.

Drilling

Drills

Drilling is a machining process used to create round holes in a material. It uses a tool called a drill bit, which rotates and moves straight down into the material along its axis.

Key Characteristics

Common Uses

Advantages

Limitations

Milling

Mills

Milling is a machining process that removes material from a workpiece using a rotating cutting tool called a milling cutter or end mill. Unlike drilling, milling tools can move in multiple directions to create a variety of shapes and features.

Key Characteristics

Common Uses

Advantages

Limitations

Key Differences

Feature Drilling Milling
Purpose Create round holes Shape material and create complex features
Tool Used Drill bit End mill / milling cutter
Tool Movement Mainly vertical (Z-axis) Multiple directions (X, Y, Z)
Shapes Produced Circular holes Slots, pockets, contours, surfaces
Machine Type Drill press, handheld drill Milling machine, CNC router

Lathe Machine

Lathe Machine

A lathe machine is a machining tool used to shape materials such as wood, metal, or plastic by rotating the workpiece against a cutting tool. Unlike milling, where the cutting tool rotates, in a lathe the workpiece rotates while the cutting tool remains relatively stationary and moves along the material to remove unwanted parts.

How a Lathe Works

In a lathe machine, the material is securely held in a rotating chuck attached to the spindle. As the workpiece spins, a cutting tool is slowly moved along its surface to remove material. This process allows the machine to create cylindrical shapes, threads, grooves, and smooth surfaces.

Main Parts of a Lathe

Common Lathe Operations

Types of Lathe Machines

Advantages

Limitations

A key part of this week’s assignment was designing and fabricating a structure from wood using only joints, without the use of screws or external fasteners. This required careful consideration of material thickness, tolerances, and joint design to ensure that the parts fit together securely.

CNC Router

CNC Router Machine

A CNC router (Computer Numerical Control router) is a computer-controlled cutting machine used to cut, carve, and shape materials such as wood, plastic, foam, and soft metals. It operates by following a set of digital instructions (G-code) to move a rotating cutting tool precisely across the material in multiple axes.

How a CNC Router Works

The CNC router moves its spindle (and attached cutting tool) along the X, Y, and Z axes based on coordinates generated from a CAD/CAM design. The material is held flat on a sacrificial bed using clamps, screws, or vacuum hold-down systems. The router's software translates the digital design into toolpaths, which define exactly how and where the tool moves to cut the material.

Main Parts of a CNC Router

Common Uses

Relationship Between a CNC Router and a Milling Machine

A CNC router and a CNC milling machine are closely related because both are computer-controlled machining tools that remove material using a rotating cutting tool. They operate using similar principles and are both examples of subtractive manufacturing.

Common Working Principle

Both machines work by following digital instructions generated from a CAD/CAM design. The cutting tool rotates at high speed while the machine moves along different axes to remove material and produce the desired shape.

Key Differences

Although they share the same basic concept, CNC routers and milling machines are designed for different types of materials and levels of precision.

Feature CNC Router CNC Mill
Typical Materials Wood, plastics, foam, soft metals Metal, hard plastics, precision parts
Machine Structure Lighter frame, larger work area Heavier and more rigid frame
Cutting Speed Higher speeds Slower but more precise
Typical Use Furniture parts, signs, panels Mechanical parts and engineering components

Summary

A CNC router can be considered a specialized type of milling machine designed mainly for softer materials like wood. Both machines use the same fundamental milling process, but they differ in strength, precision, and the materials they are designed to machine.

You can click here to learn more about the tools used a CNC Router.

Design Process: Doll House

For this week's individual assignment, I designed a parametric doll house in Fusion 360 intended to be cut from a sheet of plywood using the CNC router. The design uses press-fit interlocking joints — no screws or glue — so all tolerances had to be precisely calculated from the material thickness and measured kerf.

Step 1: Define Parameters

Before drawing anything, parametric variables were set up in Fusion 360 via Modify → Change Parameters. This ensures that any change to material thickness or joint tolerance automatically propagates through the entire design.

Fusion 360 parameter table for doll house design

Parameter table showing material thickness, kerf, and slot width values.

Step 2: Create the Sketch

The doll house panels — front wall, back wall, side walls, floor, and roof — were sketched on a single plane.

2D sketch of doll house panels in Fusion 360

Parametric 2D sketch showing all doll house panels with joint notches.

Step 3: Extrude Panels to 3D

Each panel sketch profile was extruded to the material thickness using Create → Extrude. This converts the flat 2D shapes into solid 3D bodies, allowing the assembly to be visualised and verified before cutting.

First set of panels extruded in Fusion 360

Initial panels extruded to material thickness.

All panels extruded showing full doll house structure

All panels extruded — full doll house structure visible.

Step 4: Add Joints

Press-fit T-slot joints were added to each panel edge where two panels intersect. Each slot has two key dimensions: the slot height equals the material thickness (so the mating panel slides in flush), and the slot width equals the full panel width divided by 9, giving the joint proportional sizing relative to the panel.

Doll house model showing press-fit joint notches on all panels

Completed model with press-fit joint notches cut into every connecting edge.

Step 5: Convert Bodies to Components

All the solid bodies were converted into individual Components using Right-click → Create Components from Bodies. This is required before using the Arrange function to lay all panels flat for the cutting layout.

Bodies to Components conversion in Fusion 360 browser

Converting solid bodies to components in the Fusion 360 browser.

Component list in Fusion 360 browser

All doll house panels listed as individual components.

Step 6: Scale & Prepare for Sheet Layout

Before the final CNC cut, the design was scaled down to fit a smaller sheet for a test cut on the laser cutter. This allows the joint fit and overall proportions to be verified cheaply before committing to the full-size CNC run.

To find the correct scale factor, an online scale calculator was used. By entering a known dimension from the model and the target dimension for the laser test sheet, the tool computed the exact ratio to apply in Fusion 360.

Online scale calculator showing the ratio computed for scaling the design to fit the laser cutter sheet

Scale calculator used to determine the exact ratio for scaling down to the laser cutter sheet size.

With the scale ratio known, the Scale command was applied in Fusion 360 using the Design Shortcuts panel, a quick-access command bar that allows any Fusion command to be run by typing its name. I pressed 's' to open the Design Shortcuts panel, then typed 's' to find and run the Scale command.

Design Shortcuts panel opened in Fusion 360

Design Shortcuts panel opened in Fusion 360.

Typing S in Design Shortcuts to find the Scale command

Typing "S" surfaces the Scale command at the top of the list.

Fusion 360 model before scaling — full-size doll house panels

Before scaling — panels at full CNC size.

Fusion 360 model after scaling — panels scaled down to laser cutter sheet size

After scaling — panels reduced to fit the laser cutter sheet for test cutting.

Step 7: Arrange Panels Flat Using the Arrange Function

With all panels as components, the Arrange function (Modify → Arrange) was used to automatically lay all 3D components flat onto a single plane — simulating the flat sheet of plywood. This is an essential step before exporting for CNC cutting, as it places all parts in their correct orientation for a 2D cut file.

Arrange function dialog in Fusion 360

Arrange function dialog — select components, set spacing, and choose the target plane.

The Arrange function progressively lays out each component flat, nesting them efficiently within the sheet boundary:

Arrange step 1 - first panels laid flat

Go to the envelopes tab

Arrange step 2 - more panels added

Choose the plane you want to arrange the components on

Arrange step 3 - all panels laid out

Give the length, width, frame width and object spacing

All doll house panels scaled and arranged on sheet

Final layout — all panels scaled and arranged flat, ready for export.

Step 8: Adding Dogbone Fillets — Nifty Dogbone Add-In

A CNC router bit is cylindrical, which means it cannot cut a perfectly sharp internal corner — it always leaves a small radius equal to half the bit diameter. When press-fit joints slot together, these rounded corners prevent the mating panel from seating fully, leaving a gap. The solution is to add dogbone fillets: small circular cutouts placed at each internal corner so the mating edge clears the radius and the joint fits flush.

Rather than adding these manually, the Nifty Dogbone add-in for Fusion 360 automates this process across all selected bodies at once.

Installing the Add-In

The add-in was accessed via the Utilities tab → ADD-INSFusion App Store.

Fusion 360 Utilities tab showing ADD-INS dropdown with Fusion App Store option

Utilities tab → ADD-INS → Fusion App Store to browse available add-ins.

Autodesk App Store for Fusion 360 showing featured add-ins

Autodesk App Store for Fusion 360 — a library of community and professional add-ins.

Searching for "nifty" in the App Store returned the Nifty Dogbone for Autodesk Fusion add-in.

Autodesk App Store search results showing Nifty Dogbone add-in

Search result for "nifty" — Nifty Dogbone add-in found.

Nifty Dogbone app detail page with Trial download button

Nifty Dogbone detail page — a fast and robust tool for adding dogbone fillets to internal corners. Available as a 60-day free trial.

After downloading, the add-in was enabled in Fusion 360 via ADD-INS → Scripts and Add-Ins (Shift+S).

Fusion 360 ADD-INS menu showing Scripts and Add-Ins option with tooltip

ADD-INS → Scripts and Add-Ins opens the dialog to manage all installed add-ins.

Scripts and Add-Ins dialog showing NiftyDogbone listed and enabled

Slide the toggle to the right to enable the add-in.

Applying Dogbone Fillets

Once installed, the Nifty Dogbone command appeared in the Modify menu. It was applied to all 16 panel bodies simultaneously — the tool diameter was set to 6.00 mm to match the CNC router bit, with 0.025 mm additional clearance for a clean fit.

Fusion 360 Modify menu showing Nifty Dogbone option with tooltip

Nifty Dogbone available in the Modify menu — tooltip confirms it creates dogbone fillets in internal corners.

Nifty Dogbone dialog showing Tool Diameter 6.00mm and Corner type

Nifty Dogbone dialog — Tool Diameter: 6.00 mm, Additional Clearance: 0.025 mm, Type: Corner.

All 16 doll house panel bodies selected in Nifty Dogbone with dogbones applied

All 16 panel bodies selected — dogbone fillets applied to every internal corner across the full layout.

Result after Nifty Dogbone showing rounded dogbone cutouts on panel corners

Dogbone result — circular corner reliefs visible on each internal corner, ensuring mating panels will seat flush.

Step 9: Final Arrange & DXF Export

Ungrounding Components for Re-Arrangement

Before running the final Arrange, the base component was checked for its grounding state.

In Fusion 360, a grounded component is locked in place and cannot be moved by the Arrange function. To allow all panels to be repositioned freely, the base component was ungrounded by right-clicking it in the browser and selecting Unground From Parent.

Fusion 360 browser showing Base:1 component with ground anchor icon

Base:1 shown with the ground anchor icon — component is locked in place.

Right-click context menu showing Unground From Parent option

Right-click → Unground From Parent frees the component for re-arrangement.

Running the Final Arrange

With all components free, the Arrange function was run again with the exact standard sheet dimensions: 8 ft × 4 ft (1219.2 mm × 2438.4 mm) — the industry-standard plywood sheet size. The solver was set to 2D True Shape to achieve efficient nesting of the actual panel outlines rather than bounding boxes. Frame width was set to 20 mm and object spacing to 12 mm.

Arrange dialog Envelopes tab showing 8ft x 4ft sheet with 20mm frame and 12mm spacing

Arrange Envelopes tab

Final arranged layout of all 16 doll house panels nested on 8ft x 4ft sheet

rrange Objects tab — 16 components selected

Project Sketch & Export DXF

A new sketch was created on the XY plane and all panel body edges were projected onto it using Sketch → Project/Include → Project. This converts the 3D solid outlines into 2D sketch curves, capturing the exact cut geometry including all joint notches and dogbone fillets.

Fusion 360 sketch showing all panel outlines projected as 2D curves

Projected sketch — all 16 panel profiles including joint notches and dogbone fillets projected as 2D curves.

The sketch was then right-clicked in the browser and Export DXF was selected. This saves the complete flat layout as a DXF file, which is the standard format for importing cut geometry into CAM software such as VCarve or Aspire for CNC toolpath generation.

Right-click context menu on sketch showing Export DXF option with tooltip

Right-click on the projected sketch → Export DXF — saves the complete panel layout for CAM import.

Step 9: Inkscape — Preparing the SVG for CNC Cutting

With the SVG exported from Fusion 360, it was opened in Inkscape to clean up the geometry, verify dimensions, and assign line properties.

1. Import & Resize Canvas

The SVG was opened in Inkscape. All objects were selected with Ctrl+A, then the canvas was resized to fit the selection via File → Document PropertiesResize page to drawing or selection (Shift+Ctrl+R). This removes any extra whitespace so the document boundary matches the actual geometry exactly.

SVG imported into Inkscape with canvas resized to fit all panels

Shift + Ctrl + R — Resize page to drawing or selection

2. Verify Scale & Dimensions

Each panel was selected individually and its dimensions were checked in the toolbar to confirm they matched the Fusion 360 design values. The document units were confirmed as millimeters in File → Document Properties to prevent any scaling errors when the file is imported into CAM software.

Dimension verification in Inkscape toolbar

Panel dimensions checked in the toolbar — values match Fusion 360 parametric design.

3. Assign Stroke Colors for Cut Operations

Line colors are used by the CAM software to distinguish between different cutting operations. Using Object → Fill and Stroke (Shift+Ctrl+F), stroke colors were assigned and fill was set to None for all paths.

Fill and Stroke dialog with color assignments

Object --> Fill and Stroke

All cut lines were given a stroke width of 0.1 mm (hairline). This ensures the CAM software recognises them as vector cut paths rather than filled areas, and prevents any offset being applied to the line thickness during toolpath calculation.

Stroke width set to hairline in Inkscape

No fill applied,only stroke paths will be recognised by CAM software.

Final panel layout review in Inkscape

Max value added to Red color in RGB

Profile / Through Cuts — Red

  • Outer boundary cuts and slot profiles
  • Stroke: R=255, G=0, B=0
  • Fill: None

Pocket / Partial Cuts — Black

  • Engraving or pocket operations
  • Stroke: R=0, G=0, B=0
  • Fill: None
Final SVG saved for CAM software import

Stroke width set to 0.1mm

6. Save as SVG for CAM Software

The completed file was saved as a plain SVG (File → Save As → Plain SVG). Plain SVG strips Inkscape-specific metadata, ensuring maximum compatibility when the file is imported into VCarve or other CAM software for toolpath generation.

Laser Test Cut Result

After exporting the scaled SVG, the file was sent to the laser cutter to produce a physical test model from cardboard. This low-cost test confirmed that all press-fit joints align correctly and the panels assemble without gaps before committing to the full-size CNC cut in plywood.

Assembled laser test cut doll house model in cardboard showing all press-fit joints holding together without fasteners

Assembled laser test cut model — all panels interlock via press-fit joints with no fasteners or glue, confirming the design is ready for full-scale CNC cutting.

Step 10: VCarve Pro — CAM Setup

With the DXF file verified, it was imported into VCarve Pro (ShopBot Edition) — the CAM software used at FabLab Kochi to generate toolpaths for the ShopBot CNC router. VCarve translates the 2D vector geometry into machine instructions (G-code) by defining cut depths, tool diameters, feed rates, and toolpath strategies.

VCarve Pro ShopBot Edition startup screen at FabLab Kochi

VCarve Pro (ShopBot Edition) — the CAM software used at FabLab Kochi for CNC toolpath generation.

A new file was created via Create a New File, which immediately opens the Job Setup dialog. This is where the sheet dimensions and material properties are configured before any toolpaths are defined.

VCarve Pro Job Setup dialog showing sheet size 2438x1219mm and material thickness 12.2mm

Job Setup in VCarve — sheet size 2438 × 1219 mm, material thickness 12.228 mm, units in mm.

2. Set Material Thickness

The plywood sheet thickness was measured and entered as 12.228 mm. This value is critical — VCarve uses it to calculate the full cut-through depth for profile toolpaths, ensuring the bit passes completely through the material. And click 'Ok'.

VCarve Job Setup close-up showing material thickness set to 12.228mm

Material thickness field set to 12.228 mm — measured from the actual plywood sheet.

VCarve Pro empty drawing workspace after job setup confirmed

Empty workspace after job confirmed — drawing area matches the 2438 × 1219 mm sheet boundary.

3. Import the DXF File

The DXF exported from Fusion 360 was imported via File → Import → Import Vectors. This brings all the panel outlines including joint notches and dogbone fillets into the VCarve workspace as editable vector paths ready for toolpath assignment.

VCarve Pro File menu showing Import Vectors option highlighted

File → Import → Import Vectors — used to bring the DXF file into VCarve.

VCarve Pro drawing workspace with all 16 doll house panel vectors imported from DXF

All 16 doll house panels imported — panel outlines, joint notches, and dogbone fillets visible across the full sheet.

4. Review Imported Vectors

This is the toolbar in VCarve Pro. This containes all the tools needed to edit the vectors, like moving the vectors, joining the vectors,dding drill holes etc

VCarve Drawing panel showing job dimensions: Width 2438mm, Height 1219mm, Depth 12.228mm

Vcarve toolbar

The full sheet was reviewed in the 2D workspace to verify all panels were correctly positioned. Each panel was individually checked by selecting it — VCarve highlights the selected vector with a dashed outline, making it easy to identify individual parts among the full set.

VCarve 2D workspace with one panel selected shown as dashed outline among all imported panels

One panel selected (dashed outline) — verifying individual vectors within the full imported layout.

VCarve close-up of a selected panel shown with pink dashed outline in the top-left corner of the sheet

Close-up of the selected panel — pink dashed outline highlights the individual vector.

5. Fix Open Vectors

During review, VCarve flagged an open vector — a path where the start and end points do not connect, shown as a pink dashed line. Open vectors cannot be assigned profile toolpaths; they were closed using the Edit → Join Open Vectors tool before proceeding.

VCarve close-up showing an open vector flagged with a pink dashed line on a panel outline

Open vector flagged by VCarve (pink dashed line) — must be closed before toolpath assignment.

6. Set Up Toolpaths

With vectors verified and closed, the Toolpaths panel was opened from the right sidebar.

VCarve Toolpaths panel showing material setup with 6mm tool and 12.228mm depth, empty toolpath list

Toolpaths panel — material setup confirmed, no toolpaths created yet.

VCarve Toolpaths panel annotated showing Profile, Pocket, and Drill toolpath buttons and Save Toolpath button

Toolpath Operations

7. Create Drilling Toolpath

For dowel holes, a Drilling Toolpath was created. Circles of 6 mm diameter were drawn using Draw Circle to define the drill positions, then selected as the vector input for the toolpath. The tool used was a Fab End Mill (6 mm, single flute), with a cut depth of 4.5 mm and Peck Drilling enabled — retracting between passes to clear chips and reduce heat.

VCarve Draw Circle dialog set to 6mm diameter for drill point reference circles

Draw Circle — 6 mm diameter circles drawn to define drilling positions.

Then I clicked the Drilling Toolpath button in the Toolpaths panel.

VCarve Drilling Toolpath dialog showing 6mm end mill, cut depth 4.5mm, peck drilling enabled

Drilling Toolpath — 6 mm end mill, 4.5 mm cut depth, peck drilling retract enabled.