Skip to content

Week 7: Computer-Controlled Machining


Overview

This week focused on large-format CNC machining using the ShopBot. The individual assignment was to design and cut something "big" AND something that couldn't be made on a 3D printer or laser cutter. The group assignment involved testing feeds, speeds, and runout on the machine.

Tools used: - Fusion 360 (parametric design + DXF export) - Aspire (CAM / toolpath generation) - ShopBot CNC router

Material: Plywood (1/2")


Individual Assignment: Flat-Pack Stool

Design Concept

With the ShopBot time slot booked for Saturday and no design ready, I turned to one of my favorite YouTube channels, What Makes Art, and followed their stool (now a plant stand because I didn't want to handle 3/4" ply due to weight) tutorial:

Reference: https://www.youtube.com/watch?v=9utpuieg5lI

The tutorial was fast-paced, so I slowed it down considerably. Fortunately with my slightly improving Fusion 360 skills, I didn't get as frustrated as I would have earlier in the class. The design was a flat-pack stool (now plant stand) using press-fit joinery in 1/2" plywood.

Design in Fusion 360

The stand was modeled parametrically in Fusion 360 following the tutorial workflow.

1. User Parameters

Set up parameters under Modify → Change Parameters before modeling anything. This makes the design fully parametric.
Parameters
Create an offset plane from the XY plane and give it the value of seat_height s1
From the seat_height offset plane create a sketch and from that point, create a polygon and give it the value of seat_diameter/2
s2
Click on the horizontal/vertical constraint to straighten the polygon.
s3
Click Finish Sketch
s4
Press E to extrude and enter the value of -ply
s5
Click each corner edge to fillet one inch (when I was doing this part under duress, I thought I was selecting the corners and when I clicked OK, the sides were rounded instead of the corners, so I gave up so I could get the file ready. Today when I am recreating it for documentation, I can fillet the corners without any issues. (sigh)
s6
Confirm you are at the top of the project, right-click and select New Component.
s7
Call the new component leg1.
s8
Press P to PROJECT and click on the bodies icon and select the body of the seat. Click OK.
s9
Press L for line and draw the leg on the side plane of the seat.
s11
Click the horizontal/vertical icon and straighten the lines either horizontally or vertically.
s12

All lines are black which indicates it is fully constrained.
s13

Click Mirror and select the lines that make up the legs and the mirror line (the dotted line) and click OK.
s17
Result is a mirrored leg. Finish Sketch
s18
Press E to extrude. Click Symmetric for Direction and Distance is ply/2. Operation is New Body.
s19
Draw a rectangle with thickness ply and midpoint of rectangle is midpoint of construction line. Finish Sketch
s22
Press E to extrude. Distance is -ply to cut out the rectangle for the slot.
s23
Right click on leg1 and click on Move/Copy
s24
Rotate 90 degrees
s26
Click Modify >> Combine and select leg1 as the Target Body and leg2 as the Tool Body, Operation Cut, check Keep Tools and click OK.
s27
Click Modify >> Combine.
s30
Select the top as the Target Body
s31
Select the two legs as the Tool Bodies, Operation cut, check Keep Tools and click OK
s32

Result is a seat pocket cut of the stand legs.
s29
Click Arrange, select all three bodies, click on Envelopes and click OK
s33
For each sketch, right click and choose Export DXF
s34

DXF Export Notes

Parts were exported as a DXF for import into Aspire:

  1. In the Design workspace, right-click the sketch in the browser → Export DXF
  2. The sketch must include all closed profiles — both outer boundaries AND inner slot cutouts
  3. If outer profiles are missing in Aspire, the fix is to create a new sketch, use Sketch → Project/Include → Project (P) to project all body edges, then export that sketch

Aspire Workflow

Importing the DXF

  1. Open Aspire → File → Import Vectors
  2. Select the DXF file
  3. A warning came up (AcDbBlockTableRecord: Record name is empty), per Claude AI click Yes — this is a harmless Fusion 360 internal block reference that doesn't affect geometry
    a6
  4. After import, verify that all profiles appear — both outer part outlines and inner slot cutouts

Issue encountered: On first import, only the slot outlines appeared, the outer profiles of the parts were missing. This was caused by exporting a sketch that only contained slot geometry. Resolution: Created a new sketch in Fusion with projected edges of all body faces, then re-exported.

Job Setup

Once I worked out the outline issue and imported, I set up the job:

  • Material thickness: Measure your actual plywood with calipers, 1/2" ply is rarely exactly 0.50" and in this case it was 0.49"
  • XY: Set origin position (typically lower-left corner)
  • Z Zero: Set to top of material

Tool Selection

Selected the appropriate end mill from the Aspire tool database for the ShopBot: a2

Toolpath Setup

For a flat-pack stool with press-fit joints, the toolpath strategy was:

  • Profile (Outside) — for cutting the outer shapes of parts free from the sheet
  • Profile (Inside/On) — for cutting the press-fit slots a1
    Key settings:
  • Tabs/Bridges: I added tabs to keep parts attached to the sheet until cutting was complete. Without tabs, parts can lift and be damaged by the spinning bit during the final pass. Not having a reference, I initially added too many tabs. Dubick looked over my file and instructed me to get rid of a majority of them. Rule of thumb, is one per side.
  • Cut Direction: Conventional vs. climb milling — Conventional
  • Passes: Set depth per pass to avoid overloading the bit. I originally had 2 passes which would have been a load on the bit per Dubick so we changed it to 3 passes.

Saving the Toolpath File

After toolpath setup, saved the file using the ShopBot post-processor:

  • Toolpaths → Save Toolpaths
  • Select ShopBot (inch) or ShopBot (mm) post-processor depending on your job units
  • Save the .sbp file to our shared folder accessible at the machine

ShopBot Setup

Loading material and spoilboard setup

I chose the 1/2" plywood because I had worked with 3/4" in the past and it is heavy and awkward. Angela assisted me in placing the plywood on the spoilboard. I made sure it was flush with the spoilboard at the origin and then fastened the ply with the provided plastic nails.

Setting XY home / zeroing

I don't have clears notes on this, but I know we used C3 to home the XY, but I don't remember if it was zeroed out.

Z zeroing procedure

To prepare for the air cut:

  1. After confirming the material was secured, I jogged the spindle to the origin using the JH command.
  2. I set the Z-height to 3 inches above the material surface using JZ3.5 (for 1/2" plywood, this puts the bit 3" above the top face).
  3. I used the Zero-Z-Axis (Zz) command to set a new temporary Z-zero at that height.
  4. This established the Z origin relative to the material surface rather than the machine bed.

The air cut looked fine. Maybe this is a rookie mistake, but I didn't go through the whole air cut because at this point I was ready to get started. There is a lot of prep before starting the actual cut. After any air cut or at the start of a real cut, the C3 command is run to rehome the machine and reset Z-zero back to the machine bed.

Test cuts Ugh. More testing. Since I had press fit cuts, Dubick suggested I run tests to confirm parts will fit. Okay. He assisted in isolating the cut in the top of the stand.
testcut
isolated test toolpath

testcut
test cuts

I needed to adjust the stand top cut offset by .005 to make it smaller. Dubick had a helpful chart to inform me if the number was supposed to be positive or negative.

Testing is over. I can finally cut out my parts. Believe me, I know testing is to prevent waste, but when a person is eager to get started....it's a little annoying.

Running the file — loading .sbp, starting cut

  1. Ran the C3 command first to rehome and confirm Z-zero is set to the machine bed.
  2. Turned on the dust collector and confirmed the blast gate to the ShopBot was open (all other gates closed).
  3. In the ShopBot software, went to File → Load and selected my .sbp file.
  4. Pressed Enter to queue the file.
  5. Pressed the green button on the spindle controller to turn on the spindle — I waited for the audible confirmation tone. (Nerve racking part the first few times)
  6. Pressed Enter again to begin the cut. (Again, nerve racking)

Monitoring the cut

I stayed at the machine for the duration of the cut and kept a hand near the spacebar to pause if necessary. This was the least disruptive method of stopping the CNC. I listened for any signs of the bit stressing and watched for material lifting or tabs being cut through prematurely. Since I am a novice, I wasn't very confident I would recognize an issue unless something was screaming at me...

Tab removal and cleanup

When the cut finished, I felt relief. To remove the ply from the spoilboard, Dubick illustrated how to use a wooden mallet. He knocked the edge until the ply came loose. It was surprisely easy.

At the end of the day Angela, Dubick and I cleaned up the spoilboard area and removed any cutoff material and dust. That day was exhausting.


Issues & Resolutions

Issue Resolution
DXF import into Aspire missing outer profiles Wrong sketch exported — only slot geometry was included. Fix: create new sketch, Project all body edges (P), re-export
DXF audit warning on import Harmless Fusion internal reference; click Yes to continue

Group Assignment

The group assignment this week was to test feeds, speeds, and runout on the ShopBot. Wednesday evening, as a group (students and adults), Dubick gave us a thorough lesson on the ShopBot. It makes sense while he is going over it, but there are so many instructions I can't write fast enough to get it all down. Plus I need to actual run through it myself for the memory muscles to kick in. (Little did I know what was coming on Saturday to strengthen those muscles). We also discussed ShopBot sign-ups on Thursday. Now that caused stressed. I have less than 48 hours to come up with a design and I have a full time job as well to attend to. This is what I signed up for....I guess.

Link to group page


Files


Reflections

Compared to earlier weeks, the parametric design process in Fusion 360 is becoming more intuitive. The biggest stressor this week was the time pressure — signing up for the ShopBot on Saturday without a design finalized on Thursday was a tight window. Finding a clear, well-explained tutorial from a trusted source (What Makes Art) made the difference.

The DXF export >> Aspire import step tripped me up. I had exported the wrong sketch and it only gave me the slot profile without outer profiles. The lesson is to always verify your DXF in Aspire immediately after import before setting up toolpaths.

The actual cut was intimidating and satisfying (after testing). This class is wonderful and frustrating at the same time. I know this is a common reaction since it is so fast paced. Documentation is getting old. I know it is necessary, but I am spending 80% of my time documenting and only 20% actually in the making proceas. By the way, those percentages are made up. I have no idea how much time I'm actually doing each task, but that is what if feels like. Maybe I'll start documenting (sigh) that to get real numbers.