Skip to content

8. Computer controlled machining

This week, I used the CNC machine to “make something big.” I choose to make connected plant pot holders. (It eventually turned out to be a coffee table.)



I researched a few plant bot designs for inspiration for my own design. I decided to combine the second and fourth references for my holder.


Here are some sketches that Mr. Rudolf helped me develop.

These are my own sketches! In the end, I diverged from my sketches a bit to adapt to the pots my mom found for me, but the general concept stayed the same.

Originally, I was going to work with these pots, but I switched to this more measurable clay pot that I got from my neighbor.

Original Pots:

Neighbor’s Pot:


I lasercut a few prototypes for my plant holder before moving onto the CNC Machine.

First Prototype: Too loose

Second Prototype: Too loose - 7.75 in, 75° angle (I switched pots so that I could get a tighter fit)

Third Prototype: Just right!

Fourth Prototype:

General Setup


I designed my holder in two parts, but I created a few parameters that would help to dimension both parts.

Here are my parameters.

For some of my parameters, I added a clearance of 0.009 inches so that my wood would slip in more easily.

Before designing my holders, I also watched this video on stool making to understand flat pack furniture.

I decided to alter my design so it could be a plant holder from the top, but it could also serve as a coffee table if flipped upside down. (I did this as a backup plan in case my plant holder dimensions were incorrect.)

Dogbone Fillets

Throughout my design, I used dogbone geometry to assist in the creation of these slotting joints.

The dogbones would help the bit mill inside 90 degree corners.


The first part I designed was the base plate. The base mainly consisted of a square with the dimensions 18.821 inches x 18.821 inches. In the middle of the square, I put slot holes for the legs with dogbone fillets.


After constructing the base plate, I created a new plane for the legs. I recreated my lasercut leg design for my final legs.

Here is my lasercut leg design with the relevant dimensions.

I had to design a few tabs and slot so that the three pieces would fit together without glue.

Once I had my legs and base designed, I duplicated and combined the bodies.

This is my final design.


To convert my fusion file to a file compatible with our CNC machine, I used Shaper, Corel Draw, and Aspire softwares.

I started by converting all the faces of my design to SVGs using the Shaper software. After, I used Corel Draw to lay out my faces in a document with a length of 48 inches and a width of 96 inches.

I opened the Corel Draw SVG in Aspire with the same length and width but with a thickness of 0.75 inches.

After my faces were laid out, I checked to see if my vectors were closed to make sure my cut would run as efficiently and quickly as possible.

I created the tool path once my file was ready. I set my start depth to 0 and cut depth to 0.75 inches. I changed my tool to a 0.25 inch bit. Finally, I edited my number of passes to 3 and my speeds and feeds to 12000 (RPM) and 150 (feed rate).

This is an example photo of the passes set to 5.

To find this I used this chipload calculator. Since I was using a 0.25 inch tool bit and plywood, I tried to keep my chipload around .004 inches to .006 inches.

I also made this chipload calculator in

Once my chipload was calculated, I added some tabs (with sa length of 0.25 inches and a thickness of 0.125 inches) to my toolpath.

For my outline path, I used an outside cut, but for the slots inside my base plate, I used an inside cut.

Finally, I previewed my toolpaths to check the estimated times.

CNC Cutting

To cut my file, I used the standard ShopBot PRSalpha.

This is my CNC Workflow.

Shopbot Machine

  1. Put on eye and ear protection

  2. Close the doors

  3. Check to see that the machine has been warmed up

  4. Check to see bit is not loose

  5. Measure thickness of material that you plan to cut.

  6. Attach material to the table using screws

  7. Raise Z AXIS 6 inches using the MZ 6 command

  8. Use the proximity switch to set Calibrate. (C3 keyboard command)

  9. Calibrate Z AXIS on the table. (C2 keyboard command)

  10. Raise Z AXIS 6 inches using the MZ 6 command

  11. Set new X and Y Origins for your design

  12. Raise the Z-axis so the bit won’t drag on the table

  13. Using keyboard move to the appropriate X and Y location. (M2 X,Y)

  14. Using keyboard to zero the appropriate X and Y Location. (Z2)

  15. You set origin.

  16. Select Cut

  17. Start up Aspire and VCarve software

  18. Open your file

  19. Select objects you wish to cut

  20. Select Toolpath

  21. Pin Toolpath

  22. Click on material setup

  23. Check Z - zero is on the bed, NOT the board

  24. Enter the thickness of the material

  25. Model position material should be the same thickness of the material.

  26. Click OK.


  28. Select 2D Profile Toolpath

  29. Under cutting depth, select the cut depth of the material (CLS tools)

  30. Select the proper tool -CLS down bit ¼

  31. Click add tabs and add tabs


  33. Preview toolpath

  34. Click on CLOSE

  35. Select SAVE TOOL PATH and save the file in a shopbot format

  36. Start ShopBot Command Console

  37. Conduct air cut

  38. Select FILE-LOAD

  39. Load the appropriate file

  40. Select 1 3-D offset

  41. Press ENTER

  42. Turn on the spindle by pressing the big GREEN Button

  43. You should hear a “SOUND” of the spindle now turning

  44. Press ok

  45. After checking that everything is good; press space bar

  46. Select quit

  47. Return to origin (M2 0,0)

  48. Perform cut

  49. Select FILE-LOAD

  50. Load the appropriate file

  51. Select no offset rather than 1 3-D offset

  52. Press enter

  53. Turn on the spindle by pressing the GREEN Button

  54. You should hear a “SOUND”

  55. Turn on the vacuum

  56. Press enter again to start cut

  57. Cut is done

  58. Turn off vacuum (which is so loud you shouldn’t forget)

  59. Clean up after yourself

Here are some common calibrating commands that I used when using the machine.

Calibrating Command:

  • C1: Change tool

  • C3: Home X and Y axis

  • C2: Calibrate Z

  • JZ: Z axis (raise to 6 so but won’t drag on table)

  • J2 X,Y: Jog X and Y

  • Z2: Set Origin (when designing software, stay near the origin so can change location in hardware)

  • Jog: Just move the machine (faster than Move)

  • Move: Moving the machine while cutting

To use the ShopBot, I had to follow the safety protocols.

Safety Protocols:

  • Partner Up

  • Hair up, ear protection, eye protection

  • Turn on projector display

  • Turn on fans

  • Know how to stop the machine (space bar or red button)

I also made sure to familurize myself with the following commands.

  • C1: Change tool

  • C3: Home X and Y axis

  • C2: Calibrate Z

  • JZ: Z axis (raise to 6 so but won’t drag on table)

  • J2 X,Y: Jog X and Y

  • Z2: Set Origin

Then, I had to calibrate the axis. I started with the z axis.

I calibrated the x and y axis with the proximity switches.

Once everything was calibrated correctly, I homed the machine.


To adhere my plywood onto the sacrificial CNC bed, I used screws.

I made sure to place the crews in areas where I would not be cutting, but I miscalculated and accidentally placed one screw in the path of the tool. This cause the tool bit to break.

Here is a picture of the broken bit and screw.

Test Cut

Before officially running my ShopBot file, I ran a test cut. This helped to ensure that the tool bit would not hit any of the fixturing screws.

Actual Cut

Base Cuts:

Leg Cuts:


Before removing the fixture screws from the plywood, I chipped out the tabs using a chisel and a hammer.

This is what the tabs looked like before they were removed.

Here are my de-tabbing tools.

This is a de-tabbed chunk!

I sanded the edges of my pieces after removing them.

Finally, I used a hammer and another scrap piece of wood to insert the tabs into the slots.

This is my final table/pot holder.

Sadly, my pot dimensions were not correct, probably because I did not account for the change in material thickness or kerf.

Group Assignment: Test runout, alignment, speeds, feeds, and toolpaths for your machine

Speed and Feeds - Deciding how deep to cut, how fast to turn the spindle, and how fast to move the tool

To begin learning about the CNC Machine, Mr. Rudolf walked us through the leveling process of the CNC Bed. This helped up familiarize ourselves with the commands.

This is a video of the lesson:

After leveling the table, we began to notice how the table was slightly uneven. This can be visually seen from the irregular grid lines (some are deep while some are shallow).

To further this hypothesis, we compared level measurements at different areas of the table.




Then, we checked the runout of the bot using a Starrett Dial Indicator.

Unfortunatly, our runout test was slightly inaccurate because the dial indicator was installed at an angle. :(

Finally, we checked the machine’s axis calibration and kerf by cutting out a 3 inch x 3 inch square, a tab and slot piece, and a 0.25 inch line.

We found that our machine was calibrated well enough that it would not seriously impact or designs. We came to a similar conclusion about the kerf.

90 degree angle:

3 inch side (almost):


Here are my STL files: Download Files