Week | 8


Computer-Controlled Machining


How I’m making “something big” (well, not THAT big since it’s kid’s furniture).


12 March 2018 11:44:

This week’s assignment is to use the CNC machine to build something “Big”.

Since I wasn’t sure I would have the time to make an elaborate design, I decided to start with a simple stool milled from a leftover plywood and quickly mill it. Later, if I had time to iterate it, I would improve and add other components, such as a desk.

So, for this first prototype, I’ve made a few sketches, modelled it parametrically in Fusion 360 (so that I could later on reduce or increase its size), used Rhino to generate the strategy and in one day had the file ready to start milling.

About the strategy, Fab Lab Barcelona has been using Rhino Cam to generate the GCodes for the milling machine, so I followed the general presets for this first test, but did a new one in Fusion 360, which would be used for the first time. More about it below.

After this first quick experience I decided to improve the model of the stool, create a desk and mill it all again, so that I could have a final version to be used in my son’s bedroom.

Here’s a little bit of the process:

1 - Modelling:


Still using Fusion 360 I have mostly press-pulled selected faces (designed parametrically in the sketch mode) to create the models.

I have made a few changes on the previous model, like including some pockets so that the top part of the stool would have more stability and rounding the edges, so that the furniture had no corners that could eventually hurt kids.

2 - Preparing for milling:


a) With all the parts modelled, I had to lay the parts out flat for milling. I did that by creating a model of the stock (in such case, a 15mm plywood - 1250 x 2500 mm), so that I could have a reference piece to line everything up against;

b) Before laying then out flat using the stock as a reference, I had to convert all bodies into components. We do this because, in Fusion 360, the bodies are meant to be used while modelling and, since these models were about to be made into “real-world” parts that would be assembled, I should transform them in components (more about the difference between bodies and components here);

c) I used the tool “Assemble>Joint” to match the faces of both, components and stock, to line them up.

d) I distributed the parts evenly across the stock, in a way that the stock space would be better used according to the parts I had to mill;

e) I created most of the dog bone fillets by using an Add-in for Fusion. Using the plugin, you can select all the edges you need to apply the dog bones or simply select the models, and the Add-in will find all the internal vertical edges and apply dogbones automatically. You just have to input the tool diameter. But it did not work for my whole design. In some places, like the desk’s pockets, it positioned the dogbones approximately 10 cm far of the pockets, probably due to a bug, so I had to create the sketches manually and extrude them. This is a very nice tutorial for making dog bones manually.



Why do we need Dog Bones?
When cutting materials with the CNC, a known problem is that while the CNC can make a perfect outer corner, the inner corners can never be more sharp than the diameter of the cutting tool. So, since I was using a 6mm mill, all the inside corners would not be perfect right angles, but will instead have an inside diameter of 3 mm (half the cutting tool’s diameter). The rounded corners would be an issue with my press-fit joints - where another piece of square plywood, should fit precisely in these holes.



f) I created a small clearance for the pockets by offsetting them down. I did that by selecting all the bottom faces of the pockets and doing a negative press-pull, using a parameter of 0.2 mm.

And finally had the parts ready for the toolpath creation on the CAM workspace.

3 - Toolpath Strategy using Fusion 360:


For a first-timer like me, Fusion’s CAM mode seemed a very intuitive workspace. When you mouse-over names and options, it gives you lots of information and images explaining what each option does, which is extremely helpful when you are using the software (and doing this process altogether) for the first time.

a) On the top left menu, switch from model to CAM workspace;

b) Create a New Setup,

c) On the Setup Window, you should be able to input the following information:

  • Work Coordinate system (WCS). Here, you will define your origin, positioning the X, Y and Z of your parts according to the stock.

  • You can select the origin of the X by clicking on the back half of the red X arrow and click on any part of your material you want to give as a reference for the X.

  • You should also align the Box origin point with the lower left of your stock.

  • Select the models you will use for milling.

  • Stock. After measuring your material, you will be able to input these specific measurements on the Stock tab. In my case, there was a variance on the thickness of my stock, with thicknesses ranging from 15mm to 15.20mm. The average between these numbers was 15.13 mm, which was my final input thickness.

With the basic setup done, I moved on to creating the operations/strategies.

d) Our Shopbot at Fab Lab BCN doesn’t have vacuum to hold the stock in its place, so, we have to screw the stock on the sacrificial layer before milling. In order to make sure that we are not screwing holes over our components, we mark the screw holes outside our parts (you can create points on the sketch mode and use them later for this) and do a Drilling oeration.

  • On the Drill menu, you will be requested to select your tool for the first time. I have input the values (Tool details and Feed/Speed rates) used previously as a preset for the Rhino CAM from the Fab Lab’s “library”:

On Fusion’s tool edit menu:

  • Once you do this, you should select the points you will drill under the Geometry tab;

  • Define the Heights for Clearance;

  • And, finally, the type of Cycle which in this caae is a rapid drilling.

When you click OK, it will generate the tool path and give you warnings or alerts, if any.

e) The second operation I’ve done was a 2D Pocket.

Using the same Tool details and Speed/Feed rates I’ve input previously, I only need to configure the passes, select the faces I wanted to mill and generated the Tool path. Here is where you can select your stepover and stepdown values.

f) Since I wanted to split the pockets from the actual holes, I created another 2D Pocket as a third operation, this time, selecting all the holes in which I would mill through;

g) Then, I created a 4th operation as a 2D Contour in order to do the profiling.

The only difference here is that I have added tabs (sometimes called bridges) which are little tabs of material that are kept to connect the part to the stock, so that it doesn’t fall (and break) when you remove the cut stock from the milling Machine.

Then, same process, selected the outer part of the components and kept the same milling principles.

h) A 5th operation was another 2D Pocketing I did for the other side of the desk. It has pockets below, to fit into the legs, but it also has pockets on top, that will be used to store paper and coloured pencils. So, after the milling was over, I’ve turned the stock and milled its other side. I kept things in register by centralising that part and marking the position of the stock corners on the sacrificial layer with red tape.

A milling job requires a set o parameters, mostly relative to the mill size and number of flutes. When you input the tool info at Fusion, according to the operation, it automatically suggests some parameters that could be used with that tool. I have followed most of them and slightly tweaked them with the help of our machinist, Martin.

But, when I generated the strategy, I did not know about this Fablab Speed and Feeds Calculator, which can be very useful to define important parameters to machine at our Shopbot. By inputting info about the tool geometry (Tool Diameter + Number of Flutes) and some processing parameters such as Surface Speed and Chip Load, you get Spindle Speed, XY Feed Rate, Stepover, Stepdown, etc.

But, attention, because the calculator considers inches and all values are calculated accordingly.

If I was to input some similar values than the ones I used for the milling, I would get similar results, though mine were a bit higher:

For the group assignment we made a test with various speeds and feed settings, but I skipped the overview of RhinoCAM as I wanted to generate the strategies in Fusion. The group conclusions, though, were that the ideal RPM was 12.000, which I used as my parameter, Plunge: 1000, Travelling clearance plane: 4000 and Max. Step down: 4mm.


With all this done, you need to generate the files for the milling machine.

i) Go to Navigation Bar>Actions>Post Process and generate the Gcode File. In this case, since we are using Shopbot, their native format .sbp works out just fine.

j) On the Shopbot, assuming that the drill you are going to use is already installed, you need to do the following steps prior to start milling:

  • Home the machine. You can do this by going to the Shopbot Software [C]uts>C3;
  • Then zero your X and Y Axis. Make sure you take a picture of the coordinates on screen after you’ve positioned your tool on the right X and Y axis, but, before you zero then. It’s always useful to know where are your zeros in relation the the machine’s home.
  • Then zero the Z axis by using the machine’s plate. You can do this by going to the Shopbot Software [C]uts>C2 after you have positioned the plate according to the picture below:

Here’s a video of the Z Axis automatic zeroing:


  • Import your .sbp file through the path File>[P]Art File Load
  • Turn on the air ventilation that will cool down the tool;
  • Start the spindle by pushing the green button on the remote control;
  • And press OK to start milling!

Here’s a video of the milling process that last approx. 2 hours in total:


k) After the milling you need to cut the components from the stock and remove the tabs:

And here is the result:

A .zip file with all of this week’s files that were mentioned but aren’t linked above, can be found here