Skip to content

7. Computer-Controlled Machining

Objectives

  • Group assignment: Do your lab's safety training.
  • Test runout, alignment, speeds, feeds, materials, and toolpaths for your machine.
  • Make (design+mill+assemble) something big (~meter-scale)

Introduction

This week is about making something “big”. It started with a lack of interesting idea and I didn’t want to make “just” another table or chair… Got it ! Let’s make an electric guitar !

Introduction to the CNC

This is a recap of what is described in the group assignment page. Before I dive into the extremely complicated design of my guitar, I spent an afternoon with Christophe so that I could get an understanding of how the CNC works and what I can/cannot do with it.

The CNC itself

The CNC is a computer-controlled machine that generally means is motorized and can move in multiple directions, according to the files that are fed into the program. In this particular case, when I refer to the CNC, I will refer to the CNC machine that we have at our Fablab: a HIGH-Z S-1000 that is controlled with the Kinetic-NC software.

logo text

Using the correct milling bits, it is able to cut through wood, aluminum and some other materials in 2.5D (i.e. 2D with different heights and depths).

Equipment

We lack a bit of mills at the Fablab so we were limited to using only 6mm and 3mm flat mills (201043 from Hoffman Group). Mills are usually defined by a few parameters: - The material they are made of - Their diameter - The number of flutes (i.e. the number of sharp edges at the bottom of the mill) - The surfacing speed (in m/min) - The feed per tooth (mm) - The cutting, shoulder and total length

Most of these parameters depend on the material we want to cut and not all mills are adapted to every material. It is therefore extremely important to use the reference catalog.

logo text
logo text

Note that wood is almost never indicated so we take the aluminum parameters. Some mills require coolant but we do not have any at the lab and when working on wood, it must not be used otherwise the wood will be soaked.

We can see that in the case of our 201043 mill with 3mm diameter, we can use a surfacing speed of 170m/min and 0,008mm of feed per tooth. The cutting length is 22mm and the total length 75mm.

The surfacing speed and the diameter will have an impact of the rotation speed (spindle speed), luckily, the CAM software computes this for us. However, our CNC has only present spindle speed settings (9000, 14000, 20000rpm mainly) so we must choose the closest one and adapt the surfacing speed to it.

The Kinetic-NC software is pretty easy to use and has two mains menus: jog and program. The first one allows to move the CNC around manually and zero the machine. The latter is used to load a CAM process and run. We can also slightly adjust the parameters once the program is running (0-150% spindle speed and feed per tooth).

Safety

A CNC machine can be a dangerous tool. The one at our lab cannot run whenever its doors are open and is automatically stopped whenever a door is opened. Moreover, one must always stay close to it when running in case something goes wrong. Cutting causes a lot of friction and heat and one must be extremely vigilant about it.

Also, it is always better to double-check your CAM process in the CAM software and in Kinetic-NC. An “air pass” is usually recommended at least for the first job on the part to make sure the stock is correctly placed and the zero is correctly set.

A CNC working can be quite loud so ear protections are recommend, especially if you spend your whole weekend in the lab 😄. Eye protection can be useful especially if the CNC is open, in which case a dust mask can also be proven useful.

Dust collection

Because CNCing something will create a lot of waste material, it is important to remove them in-between two jobs. I used a cyclone vacuum to remove most of the waste material but it ended up a bit blocked at the end… I then used a classical vacuum cleaner.

Making a CAM design

To test the CNC possibilities, I designed a small piece in SolidWorks that features sharp and round edges, engraving and enclosed and open holes (through all and blind).

logo text

That was the easy part. Now time to make the CAM job. Since I use SolidWorks, I had to install a CAM addon (newer SolidWorks version should have it installed but I didn’t for whatever reason). I went with the Autodesk HSMWorks software (free for edu students… How to access it after then ?).

Once installed (and the computer rebooted), a CAM menu appeared on the top ribbon.

logo text

Setting up the job

The first step is to create a new job.

logo text

Inside the job settings, I need to set the coordinates system (selecting edges that will be my X and Y axis and a zero-position for the machine). On our CNC, the X axis is the longer one so I place the X axis along the longest edge.

logo text

Then, I set the dimension of my stock, in this virtual test, I set my stock to be a fixed size box of 300x300x22mm.

logo text
Default fixed size box stock settings
logo text

I could then set my zero-position of the machine to be the either a selected point on my model or another point such as the top left corner of my stock.

logo text

One need to be very careful about the orientation of the axis, in particular the Z one.

Surfacing the part

The first step is to surface the part. This will create an even surface for the part relative to the machine axis and will ensure that the finish surface is smooth and “new”. To avoid surfacing the whole surface of the CNC or the whole stock, I can create a new sketch that will be my surfacing boundaries (Later I found that I could actually surface the model contour, see below).

logo text
The square sketch is the boundary for surfacing

Tool library

I then had to choose the tool that I was going to use for this job. Usually, this step is done once for all projects and the mills are stored in a tool library but for this first time I had to do it now.

logo text
Tool number "1"
logo text
Setting up the diameter
logo text
Setting up the surfacing speed and feed per tooth as well as the number of flutes

I could then set several settings for my surfacing: the contour to surface but also the height (top and bottom), the stepover between each pass and the maximum depth of a pass (usually set to maximum half the diameter of the mill, in this case I used 2.5mm for a 6mm mill). Here is the result of the surfacing job.

logo text

2D Pocket

A 2D pocket is a job that allows to cut inside the part to make a hole (a pocket). One must select the contour and either the bottom height or the contour surface to set the depth. It is extremely important to set the “multiple depths” settings to on to preserve the mill.

logo text
Selecting the contour
logo text
Setting the height, when going through, you can go a bit lower to make sure you go through the whole part
logo text
Multiple depths !

One can set a “stock to leave” if using a big mill to then finish the job with a softer touch and a smaller mill (using the 2D contour job). If only one pass (which I did for my guitar as I had not much time, then set it to off !).

2D Adaptive and other

Adaptive clearing means that the program will try to compute the path to reduce the load on the mill. However, this usually result in a longer toolpath but the material undergoes less force and pressure so the finish is usually better. There is no multiple depth settings there.

A lot of the options are also available. In particular, the 2D engraving too but also the 3D jobs that allow to make slopes with the parallel, 3D pocket, 3D adaptive, scallop jobs, … I used some of them to make my guitar.

Simulating

The final step before exporting the CAM is to simulate it. This allows to see the time it will take and help detect any issues. I highly recommend to do it.

Testing the machine

Jason and I tested the runout and the alignment of the machine by visually inspecting the axis of the tool when rotating. We also measured the horizontal distance between the end of the mill and the mill axis with a caliper at different points in the rotation, similarly to what is done in this video.

Christophe also indicated to us the best feed rates and spindle speed for cutting through the wood (see above).

Making my guitar !

Getting inspirations and references

So I started off looking for inspirations and plans… Since I’ll have to design it in a CAD software, better to have some good references before starting to work.

logo text
Looking online to find references
logo text
Something like that
logo text
That a beginning but it lacks dimensions

I found some plans online but most of them were extremely pricey (we talk about 30-100$ for the plans, ouch)… Until I foud this gem

logo text
Ok I can start working now !

The CAD design

I used Solidworks to design my guitar. I used this nice little tool available in SW to import a .png inside my sketch so that I can “copy” the shape of the guitar and I use the dimensions reference on the plan. The steps are: Tools menu - sketch tools - sketch picture

logo text
Adding my plan to my sketch workspace
logo text
I can start drawing now

I started with the face “A” (or the top face). I used straight lines but also splines (and adjusting them multiple times), ellipses and sketch fillet. I also took some liberties on the upper part on the shape to make it more “my own”.

logo text

until I realized it was not the correct size 😄. Obviously the png had been resized. So I used Inkscape with the 1:1 template, some SolidWorks measurements and a bit of math to compute the length between the neck and the bottom (344mm). I then scaled my SolidWorks sketch to get this distance.

logo text
575.57mm initial measurement so I need to scale by 577.57/344 = 1/1.678 = 0.595
logo text
Sketch scaling
logo text
575.57mm initial measurement so I need to scale by 577.57/344 = 1/1.678 = 0.595
logo text
"close enough" but now, if I want to keep using the template, I need to resize it as well
logo text
Resized template

Let’s extrude and boss everything we need. In a tens of minutes of work, the bottom is done !

logo text
Bottom !
logo text
Time to make the upper part, I added transparency on the white color of the picture sketch to be able to see the extruded part

For the top part, all of the holes are different depth so here are the intermediate and final results !

logo text
First holes
logo text
All holes done

I then created a new reference plane to be able to make the slope.

logo text
Reference plane and cut
logo text
Using the swept cut feature to make a slope cut follow this path
logo text
Top part finished, with some fillets (not all of them are actually needed)

Making the guitar !

Making the stock

My guitar requires 420mmx300mmx44mm. So I needed to make a stock bigger than that with the wood available at the lab. I chose to go with long planks that are 25mm thick and 110mm large. I had to cut them at 450mm and assemble them by 3 then times 2 to make a whole body that was big enough.

logo text
My initial planks
logo text
Placing them on the ground to cut them
logo text
Actually it was easier like this
logo text
6 small boards

Then I had to glue them together. I used wood glue and clamps to hold them in place for 2 hours.

logo text
logo text
Glue applied
logo text
Clamps
logo text
Horizontal holder and clamp to prevent wood buckling
logo text
The other 3 boards assembly
logo text
Final result

I then needed to assemble my new board of 3 planks with another one to make a stock 50mm high.

logo text
More glue
logo text
Assemlbing two boards made of 3 planks
logo text
logo text
My new stock !

Placing the stock

I made sure to vacuum clean the spoilerboard and added double-sided tape and screws to hold my stock well in place.

logo text
logo text
logo text
logo text

Post-processing the CAM

So the first step before actually being able to mill is to export the GCode for the machine. I had to install the post-processor kinetic-NC. It is available here.

Then I tried to postprocess my design and ran into this:

logo text
Seems like version do not match...

Actually it is because the version is too recent compared to the engine used in SolidWorks (or HSMWorks maybe ?). Anyway, I found an older version (43054) that works !

logo text
Seems like versions do not match...
logo text
Working GCode for surfacing

Tools

Now I’m entering the real tool that I’ll use: the might 6mm flat end.

logo text
logo text
logo text

I will be using 14000rpm as it is a bit faster than what is in the datasheet for aluminum.

Top face: surfacing

Just like I did with the “test” part, I made a new job, added the stock and axis and created a surfacing process. In the job setup I specified that my guitar should be 2mm below the top of my stock so I will need to surface 2mm.

logo text

I processed the GCode and had a look in the Kinetic software to make sure it was all okay.

logo text
The jog menu

I placed my machine at the top left corner of my stock, as defined as the zero in my job setup, and clicked on zero. Then I had to place a piece of paper and lower the mill until it slightly touches it and I adjusted (0.1 and 0.01mm) until it scratches when the paper, before zeroing my machine.

logo text
Placing a piece of paper
logo text
It scratches, let's zero the machine

Then I loaded the CAM and made sure it was all okay.

logo text
The program menu

Since it was the first milling I did, I took time to make an “air milling” and make sure the mill did not go outside the stock boundaries.

I can now start the program at the correct height.

logo text
logo text
logo text
Program running and current line highlighted
logo text
Surfacing finished
logo text
Once vacuumed
logo text
Very nice finish even with the 6mm mill

Top face: 2D pocket

I started with the neck hole/pocket since it is the easier. I did just like for the “test” part above and the result:

logo text
Neck finished
logo text
Vacuumed, rough finish
logo text
hand-sanded

For the central holes, most of them are not of the same depth, however, to avoid making each one at a time, I selected the whole contour and selected the highest face as the bottom height so that everything will be leveled at the highest height.

logo text
logo text

An extreme attention must be made to the clearance height to make sure the mill won’t jog into the whole wood.

logo text
logo text

For the bridge part, it goes through the whole part but we’ll make a first half in the face A and the other half on face B. Note that since we have surfaced already, the top height is the stock minus 2mm since I surfaced 2mm.

logo text
logo text
logo text

I then did the Jack input hole:

logo text
logo text

And finished by making the different depth holes:

logo text

Top face: slope (3D pocket and parallel)

The slope on the top face was a bit harder to setup. Since the height is not constant, I used a 3D pocket clearing to get a rough surfacing and leave only a maximum difference of 1mm (some cusps exist):

logo text
logo text
logo text
logo text
logo text
After hand-sanding

The cusps are very visible but this is normal, this step is to reduce the maximum depth to mill in the next step.

I can now use the parallel process to really follow the slope (there is no stepdown settings here !!! so we need to be extra careful) with the tool and since I used the 3D clearing just before, I know I will have between 0 and 1mm of height of wood, so I can go faster!

logo text
Parallel process
logo text
Parallel process
logo text

Top face: outline

I used the 2D contour process to do the outline. I have 44mm to cut so I’ll do 20 on this face. However, since wood waste will be stuck in the slot, I’ll only make 10mm in one job then clean thoroughly before doing a second job 10mm below.

logo text
First job
logo text
Second job
logo text
logo text
The wood is very cheap so the mill broke some when the direction was perpendicular to the fiber direction
logo text
On other direction the finish is nice
logo text

Top face: Rounded edges

For rounded edges on the Jack input and on the outline, I used the parallel process but using the additional check surfaces option and make sure the touch settings was on. That allowed me to force the tool to follow the curve all along.

logo text
Selecting the contour
logo text
And the check surfaces (touch enabled)

The height is set as : from the surface to the surface -5mm.

logo text
logo text
logo text
Rounded Jack input

I did the same for the outline:

logo text
Rounded outline

Changing side: Drilling holes

That was the moment I was the most afraid of !. I need to flip my stock around, without losing references and coordinates to be able to mill the other side and complete my guitar.

I thought for a long time until I came up with this idea:

First, I make a new sketch composed of 4 6mm holes which are placed at the 4 corners of my guitar but at the same distance from the rotation axis.

logo text
New sketch with 4 holes

Then, I use the “Drill” operation in the CAM to drill these 4 holes on my stock. I make sure to go at least 30mm inside the stock.

logo text
Drilling the holes as far as possible (35mm)
logo text

I remove the stock from the CNC and I drill the same 4 holes but at Z = 0 up to Z = -10mm (a bit less than the spoilerboard height).

logo text

I insert 4 metal bits, recycled from an IKEA furniture in the holes in the stock.

logo text
logo text

I can now flip the stock and it will perfectly fit the holes on the spoilerboard.

logo text
flipped stock, perfectly in place

By taking a look at the Gcode, I can know the position of those 4 holes relative to the zero position of the machine. I can therefore also know the position of the flip axis relative to the machine (G54 coordinates).

logo text
Holes y coordinates: 346.134 and 71.134

The mean coordinate, i.e. the y coordinate of the flip axis is therefore (346.134 + 71.134)/2 = 208.634, still relative to the zero position of the machine. I therefore know that, after flipping, my machine is now zeroed at -208.634, and still at the same X (41.624). I add a new point in my sketch in a plane that is at 48mm from the top of the guitar (i.e. the distance of the bottom part of the stock) that I will use to set the coordinate of the machine in a new job that will be the bottom face job.

logo text

Bottom face

So for the bottom face, it’s all the same, but easier since there is less to do.

logo text
Surfacing the bottom

What was very important was to first do all the holes and so on, before the outline. The guitar was basically “floating” in the air so if I cut the outline it wouldn’t be held by the stock anymore. Moreover, when doing the outline, I needed to remove the last 19mm. I first did a pass of 10mm. Then a second of 7mm so as to leave a final 2mm holding the guitar body to the stock.

logo text
The last 2mm are holding everything in place

Finally, I hit the last part of the outline with a small chisel at an edge and everything just “snapped” and the guitar was free !

The end result

logo text
logo text
logo text

The finish is not perfect and I will probably hand-sand it a bit in the future before applying a vernish but it is still very impressive.

Some stats

The machine jobs lasted for about 14 hours. Moreover, doing the vacuum cleaning, placing things on the board, flipping the board, preparing the CAM and so on, it took me an additional 2 hours. Add to this the work done to prepare the stock: about 2 hours and the CAD design: 4 hours. I was afraid I could not finish in time but the end result is there !

Bonus

I wanted to make a pick protector as well using the laser cutter. But I was so tired of all the machining I actually made it the wrong scale 😄. I’ll finish it later.

logo text
logo text

I also would like to engrave a part of the guitar using the laser cutter.

Errors that I did

  1. There is one main error that I did. I found looking around a mill that looked exactly like an 8mm mill. I set it up in the machine, hoping to speed up the surfacing process. Quite fast, it starts smoking a lot in the room. I thought I misentered some parameters and the mill was rotating too fast or slow… Tweaking the parameters yield nothing but more smoke. I removed it and I noticed a little pointy edge at its end. Looking online I found that bits like these one are actually made to unsolder metal sheets, despite looking almost exactly 8mm mill. So it was normal that it smokes as it wasn’t made for it to be used in a CNC ! I’ll check better next time ! Luckily, my stock was not hurt too much neither was the machine.
logo text
Looks like an 8mm mill... But it's not !
  1. A little mistake is that instead of surfacing the whole top part (though constrained to a square) I could just, like I did for the bottom part, surface the contour of the guitar with a small offset. I could have gained 30min to 1h just doing that!

My design files

All the CAD design, CAM processes and Gcode are available here: My Design files


Last update: June 14, 2021 18:15:21