An introduction to CAD/CAM: from concept to physicalFollow article
Taking a simple project in DesignSpark Mechanical through to CNC machining.
With CNC (Computer Numerical Control) machines becoming increasingly accessible, CAD (Computer-Aided Design) and CAM (Computer-Aided Manufacturing) are more popular than ever.
In this post we will cover first steps with both CAD and CAM, designing a mounting plate for a 9-pin D-sub connector, before cutting it out of sheet aluminium using a 3-axis CNC milling machine. It is intended as an introduction to CAD/CAM processes rather than a complete tutorial.
Design to manufacturing workflow
Going from idea to machined part requires several steps as shown above. First the part must be designed in CAD software and saved as a drawing/model.
This can then be exported and opened in CAM software, where toolpaths are generated according to parameters such as the CNC machine, tools and material to be used.
A toolpath is the path through space that a cutting tool follows to create the part in the design file. Calculating toolpaths can be a computationally intensive and difficult process. There are many different methods that can be used, depending upon the materials process – e.g. milling, plasma cutting or 3D printing – and the task in hand.
Once a toolpath is generated and considered suitable it can be exported as G-code – instructions used to control the machine.
It is worth noting that there are multiple versions of G-code, and some machine control systems do not use G-code at all. Further reading is recommended before choosing the right combination of software for your particular use and machine.
Free trials are available for most CAD and CAM software packages, giving you time to experiment and compare the options. Many people will use several different programs rather than relying on just one.
In this post the following software will be used:
DesignSpark Mechanical for CAD (free to use)
CamBam for toolpath and G-code generation (free to try)
Machinekit (a fork of LinuxCNC) for machine control (free to use)
DesignSpark Mechanical can be used to create CAD files suitable for our milling project. It can also export detailed worksheets, and models suitable for 3D printing. It is free to download and has a range of tutorials to help users start designing right away.
One notable feature is the ability to import 3D models of components from the RS catalogue directly into the design tool, meaning it is possible to use an existing model to assist with design. Not every component in the catalogue has a 3D model, but many do. After finding and importing the model it was used in several ways:
Assisting the design of a cut-out of the correct shape in the mounting plate.
Working out the spacing of mounting holes.
Visualising the connector and mounting plate together to check for errors in the design.
Being able to save time by making use of an existing component model, and visualise the work in 3D, made for a pleasant experience using the design tool. Once complete the design was exported as a .dxf file ready for the next stage.
CamBam is primarily a toolpath and G-code generation software, though it can also be used for basic CAD should it be necessary.
The .dxf file was imported and various parameters input as required. A feed rate calculator was used to work out a suitable cutter feed rate – the speed at which the cutting bit passes through the workpiece (the material to be cut).
When milling something from a larger piece of material it is important to consider the addition of holding tabs to prevent the final part coming loose before the job has completed. Whilst resulting in a part that needs some minor manual finishing, it prevents the possibility of a damaged part, damaged tool or worse, the part flying out of the machine as the final cut is made. These tabs do not have to be part of the initial CAD file, they can be added in by CAM software at this stage.
Similar to CAD software, being able to visualise the work on-screen helps to ascertain the toolpath is correct before exporting your file. After several attempts and tweaks made to the settings the toolpath looked suitable and G-code was exported.
It is worth noting that the wider topics of toolpath generation, and CNC machining as a whole, is beyond the scope of this post and further reading is encouraged.
Milling the part
As mentioned earlier, Machinekit is the control software driving the 3-axis CNC milling machine used. Based on the long-standing LinuxCNC, it allows for a high degree of configuration. The milling machine itself is a Denford Novamill converted to Machinekit control, which is covered in this series of posts.
The G-code was imported into Machinekit and again visually checked. Though it may seem over-cautious to check the design so often, this can save problems when it finally comes to milling; cutting tools and workpiece materials can be expensive, and easily broken if care is not taken or the G-code contains unexpected errors.
A tool was placed in the head of the milling machine and aluminium workpiece clamped on to the moving bed. The three axes were then homed using the homing function. Once this was done, the cutting tool was not in the correct position in relation to the workpiece. Another process, known as 'touching off' was carried out next. This allows for setting of the tool position relative to the workpiece before commencing the milling job.
With the mill set up the job was started. It is worth keeping an eye and ear on the machine – you may be able to prevent any problems or breakages before they happen. You may also be able to hear if the cutting tool is having difficulty – if it is making a horrible noise then it probably is! Some machines have a manual feed override feature allowing the machinist to decrease or increase the speed as necessary, otherwise pausing or stopping the job could prevent damage to the cutting tool and material.
Taking an idea from concept to final milled part can appear quite daunting to begin with, but by breaking down each task good results can be achieved even as a novice. As with any machining or design work, keeping a record of all parameters used will allow for further improvement and consistent results.
DesignSpark Mechanical is a capable CAD package with plenty of good documentation and a growing user base. The integration with 3D models of components available through RS is a great feature not to be overlooked, plus it is available for free!
If in doubt or looking for advice there are many resources and online machining communities with experienced users, who will be able to help with your query or point you in the right direction.
This was my first time using both DesignSpark Mechanical and CamBam, and after referring to several tutorials for each was able to get results without further help. I look forward to using them more in the future and improving my machining skills.