Computer-controlled machining
Table of content
CNC machine
Fab stool/bench/table
CNC machine ●
Introduction
For this week's assignement we have to characterise the CNC machine. This was done when we had the opportunity to return to the lab after the lockdown situation due to the COVID-19 pandemic.
I had a chance to team up with my classmates Tue Ngo, Arman Naraji, David Prieto and Lynn Dika for this group assignment.
On this page, I will highlight the key point of the process. Tue has detailed everything on her page, please feel free to go there for the full documentation.
Personal notes
Software
Unfortunately, Fab Lab Barcelona uses RhinoCAM (~1500€), a plug-in for Rhino3D (995€), to perform this task. Paying ~2495€ for a propriatary software that students can't get unless they crack it is a very bad idea for me, especially in the context of Fab Labs. But Fab Lab Barcelona made this choice and configured RhinoCAM with all the necessary parameters to work with the RaptorX-SL, the big CNC.
I hope that open-source solutions will evolve robustly in the near future to counter this proprietary monopoly.
G-code
To mill something with the CNC, we first have to screw a wooden board onto the machine bed to make sure it won't move during the process. But as we don't want to mill on a screw, which can cause a fire, we first have to place the screws on our drawing and generate a G-code (Machining Operation > Engraving) just for that. Then another g-code (Machining Operation > 2-axis Profiling) has to be generated with our design only.
What we need to know
- the thickness of the material we are going to mill, and its chip load value (the thickness of material removed by each cutting edge during a cut)
- the diameter of the endmill and the number of flutes it has (the sharp slots that corkscrew upwards along the length of a milling bit)
- the spindle speed at which the spindle of the machine rotates
Tool's feed and speed
Feed rate = N x CPT x RPM
is the formula used to calculate the tool's feed and speed. Where feed rate is the speed at which the cutter engages the part, N as the number of flutes, CPT as the chip load and RPM as the spindle speed at which the spindle of the machine rotates.
Machining with the RaptorX-SL
We used the Raptor X-SL 3200/S20 machine and its software KinetiC-NC to do the test. The detailed specs of the machine:
- Working area:
3,200 x 2,010 x 300mm
- Clamping area:
X -3,500mm x Y -2,200mm
- Positioning speed X+Y/Z:
maximum 40,000mm/min
- Working speed:
maximum 20,000mm/min
- Step width X:
0.0213mm
- Step width Y+Z:
0.0113mm
Conclusion
The Raptor CNC machine is impressive in power and size. It can carry out large projects, but it can also be dangerous, which is why it is important to observe the safety rules:
- Wear safety glasses
- know where the emergency button is located
- switch on the ventilation
It is also very important to know and understand all the data we have to deal with. Running the machine too fast can damage the material and the machine itself, too slow can produce too much heat and start a fire, etc. With this giant machine you don't play with rules and mathematics.
Making the toolpath (g-code) is the big part of working with the CNC, and because of the Rhino software that I don't have, because I use Linux and open source software, I'm not very confident in the process. I'm looking forward to doing my personal project to have more time to absorb the knowledge we need to know. See you at the next step!
Fab stool/bench/table ●
I wanted to have a stool/bench/table for my apartment, a kind of furniture that can be different things because of its dimensions. So I designed and fabricated it using the large CNC at Fab Lab Barcelona.
I designed it with parametric values. This process can be useful for everyone, to adapt the furnitures (or anything else) to their needs and the context in which it will be used.
Design
I first designed this project on paper and then in Freecad, my favorite open-source software for 3D modeling.
The stool/bench/table consists of a seat, two legs and a stretcher.
Parametric values
I used parametric values in order to easily modify values such as the lengths of the seat, the height of the legs, the thickness of the material, the endmill diameter I will use, the length of the slots, etc.
Once the document is well organised and the values in the part design workbench call up values from the datasheet, changing the values automatically changes the rest. This allows me to design without knowing everything in advance, such as the diameter of the milling cutter that will be used to mill the project, and above all it allows the design to be adapted quickly and almost frictionlessly to new constraints.
Preparing for production
Tolerance
It is strongly recommended to take a tolerance value into account when working with a CNC machine. This is because the machine will not produce a perfect result and if the cuts are too tight, there is a good chance that it will be almost impossible to put the project together.
In this case I used a tolerance value of 0.2 mm
. This means that there is an extra 0.1 mm
on each side of the cut to make sure that the parts fit together.
Update: the tolerance value I used wasn't enough, I had to sand the mortises in order to join the different elements together.
Dogbones
Right angles are not accessible by the endmills, which will produce an undesirable result.
To avoid this, it is common practice to create dog bone shapes by adding holes the size of the endmill in the right angles. The space left by the cut will then correspond to the piece that is supposed to fit into it.
Export
When the different parts are well designed, take into account the tolerance of the CNC and have dogbones shapes to ensure that the actual measurements will be as expected, export all parts in a technical drawing sheet at the correct scale (1:1). This sheet should be exported as a .dxf
file and then imported into RhinoCAM.
Toolpaths
File import
- Import the
.dxf
file into Rhino Join
the different paths together andGroup
them to be sure that no lines will float alone
Box stock
- Create a rectangle the size of your material
2,400 mm x 1,250 mm
Stock > Box stock
and select the rectangle- Select
Height
- Corner coordinates
0, 0, 0
- Dimensions
2,400 x 1,250 x 15
Screw marks
- Copy the material rectangle and offset it by
20mm
- Create
Points
along the offset line to fix the material - Add more
Points
around the critical part that could move during the process. If it is needed to add a screw inside a pocket, make sure to place two of them to avoid any rotational movement.
Tool
- Create a new
Tool
- Flat mill downcut
- Number of flutes:
1
- Tool diameter:
6 mm
- Tool length:
35 mm
- Shoulder length:
32 mm
- Flute length:
30 mm
- Feeds & Speeds
- Speed:
18000 RPM
(the machine can operate between 18000 and 24000 RPM, but the minimum is enough) - Cut speed:
5500
- Plunge, approach , engage, retract, departure:
2500
(cut speed/2) - Transfer:
Use rapid
(and set 10000 for RhinoCAM simulation)
- Speed:
Save
the new tool
To calculate the Cut speed
value, check the chipload value of the material (for plywood, using a 6mm endmill, range is .011″-.013″
, according to this calculator). Then RPM * number of flutes * minimum value * 25.4 (in to cm) = minimum cut speed. Then do the same for the maximum value. Finally, use a value in the middle to ensure the happiness of the machine.
Engraving, pocketing, profiling
Do each step on a different layer.
- Control geometry: select the appropriate zones and
generate
- Tool: select the previoulsy created tool
- Feeds and speeds: Load from tool
- Clearance Plane: Stock Max Z + Dist:
20 mm
for the screws (this will prevent the tool from scratching the material, if it's bent, during its movements) , then10 mm
for the rest - Cut Parameters:
- Tolerance:
0.03 mm
for the screws then0.01 mm
for the rest - Stock:
0
- Cut direction:
Climb (Down cut)
- Start Point:
Inside
orOutside
depending on the design - Stepover Distance:
25 %
- Tolerance:
- Cut levels
- Total Cut Depth:
3
for the screws, then15.5
(material thickness + margin) for the rest - Rough Depth Cut:
3
(3 mm on each layer, we don't want to force the tool)
- Total Cut Depth:
- Entry/Exit:
None
andNone
, this is not needed for wood'() - Advanced Cut Parameters (for the profiling)
- Bridges:
Rectangular
- Bidge Height:
4
- Bidge Length:
4
- Number of brigdes: Depends on the design
- Bridges:
- Sorting:
Minimum Distance Sort
Generate
Export to G-code
Two files must be exported. The first one contains the screw data, which we will run first. Then all the other operations (pocketing, inner profiling, outer profiling) on the second file, which we will launch once the material is screwed to the machine bed.
- Right click on a operation >
Post
- File name: something like
01-screws-6mm
or02-6mm
- Save as type:
*.nc
- Current post:
CNC_STEP_BCN
(which contains all the information about the specific machine I will be using)
Fabrication
- Mount the material on the machine bed
- Mount the desired endmill and tighten it properly
- In the machine software (KinetiC-NC) go to Jog/Setup, move to zero position
- Set the Z position using the mechanical button: put the large button under the endmill and set the Z, the sotftware will know what the correct Z value is
- Run the first file to obtain the srew positions on the material
- Screw the material to the machine bed
- Re-set the Z because the material should be lower than before now that it is properly fixed
- Run the second file containing all the other instructions
- Cut the brigdes using an hammer and a chisel
- Unscrew the screws
- Sand the egdes of the pieces to obtain a nice result
Result
Conclusion
It's really nice to design something knowing how it will be made afterwards. Designing with constraints, understanding the material and taking into account all the little details that can make a difference. That's part of the reason I'm doing this Fab Academy. CNC is a wonderful machine that can produce all kinds of results, and I'm looking forward to discovering them all.
At first it was intimidating. The machine is powerful and can be harmful if not used properly and there is a wide range of settings to know and understand to produce the right instructions for the machine (G-code). But once all this is demystified, all that remains is fun and new possibilities.
Files
- Stool v1, Freecad design file -> a-stool.FCStd
- Stool v1, Freecad fabrication file -> a-stool-fab.FCStd
- Stool v1, DXF export -> a-stool-fab.dxf
- Stool v1, RhinoCAM file -> stool-v1-a-stool-fab.3dm
- Stool v1, g-code step 1 -> stool-v1-01-screws-6mm.nc
- Stool v1, g-code step 2 -> stool-v1-02-6mm.nc