07 - Computer-controlled machining
The ShopBot, a machine that can literally take your arm off and would feel no remorse… A week of caution!
This week’s assignment is again two-fold:
- Group assignment:
- Test runout, alignment, speeds, feeds, and toolpaths for your machine
- Document your work (in a group or individually)
- Individual project
- Make (design+mill+assemble) something big
- Not much. This will a very interesting week for me.
- Designing for a large CNC mill
- Finding a good workflow for operation
- Operating a large CNC mill (safely)
- This machine is awesome!
- It is important to check and recheck every step you take, every move you make.
- Necessary fillets can best be placed during the CAM toolpath creation, not in the original design.
- Make sure only one vector exista that should be converted to a toolpatch.
A CNC (Computer Numerical Control) mill is a machine that can move a rotating tool along various axis to remove material from an object.
Most CNC mills operate on a very simple principle. A gantry moves over a bed along the X axis. A head travels on the gantry in the Y axis. This is a 2d operation. The head can lower a rotating tool up and down along the Z axis. This is a 3d operation.
The node has a big ShopBot. It is a very powerful machine and with great power comes great responsibility…
FabAcademy is all about learning from mistakes. The shopbot however has a very small margin for it. The machine removes small clippings of material (typically wood) and these clippings are sucked away to a big shop vacuum. Small pieces of wood with lots of oxygen is very flammable stuff. If the mill bit hits a screw, the spark is also sucked into the bag with clippings -> brand @ waag…
This has not happened... yet.In case of sparks
If a spark is sucked into the machine:
- hit the emergency stop on the machine to stop the movement (1)
- stop the vacuum (2)
- unclip the bag from the vacuum
- keep the bag closed to block fresh oxygen
- check the bag
- if the bag is not on fire, take it outside for a closer inspection
- if the bag is on fire, throw it out of the window
- do NOT use the fire extinguisher, this will generate lots of turbulence
The mill bit is a 5 mm, 2-flute end mill. It travels around 80-90 mm/s with an rpm of 18k.
This rpm will generate a lot of friction = heat > fire @ waag.
Do not leave the bit milling for too long in one place.
- Be zen and only turn on the machine when you plan to operate it
- Create the toolpaths using the V-Carve software (see below)
- Make sure the bed is empty and clean
- Sand down the “volcanos” left by screws from previous jobs in the sacreficial material
- Make sure the surroundings of the machine are free from obstructions
- Make sure to tighten any loose clothing and/or hair
- Turn on the machine with switch 1
- Calibrate the machine using the Shopbot software (see below)
- Move the head with the keypad to a position where it can be reached easily
- Lower the skirt of the vacuum with the wingnut at the back of the head
- Insert the bit in the collet and attach the nut, have the mill bit stick out of the collet for about 5 mm + the material thickness
- Insert the collet in the head and tighten it with the two spanners
- Raise the skirt and tighten the wingnut
- Start the vacuum with switch 2
- Load the toolpath in the Shopbot software
- Start the spindle with the key attached to one of the spanners in switch 3
- Start the job in the Shopbot software and behold…
- If a small problem occurs, pause the machine with the space bar
- If a big problem occurs, see the red section “In case of sparks” above.
- When the machine is finished, turn off the spindle with the key in switch 3
- Remove the key
- Stop the vacuum with switch 2
- Depending on the job, switch the mill bit, load another toolpath, start the spindle, rinse and repeat
- When all jobs are done, close the Shopbot software and turn off the machine with switch 1
The V-Carve Pro software is used for generating the toolpath instructions for the machine. This is a dialect of gcode, the same language used for the 3d printers.
It has to know some basic properties to start with, like the size of the board, what mill is used and where it is placed.
The machine can create various types of cuts.
- Drill: use the tip of the mill bit to drill a hole in the material. Useful for creating screwholes at precise and well-known positions.
- Pocket: use the side of the mill to remove areas of material. Useful for creating larger holes and indents.
- Profile: use the side of the mill to remove a line of material. Useful for separating parts from the material.
When all toolpaths are created, they can be exported to jobs.
There are typically multiple jobs.
- a drilling job for creating screw holes for attaching the material to the sacrificial layer
- a job for each different tool / mill bit
A job is created by assigning different toolpaths to it.
Make sure that the drilling toolpath is deselected from every other job, otherwise the mill bit will lower down on the screw head, causing sparks -> fire @ waag.
The Shopbot software is used for controlling the machine and sending the toolpath.
Make sure the machine is on, otherwise the software will throw an error.
The
First calibrate the X and Y axis by pressing the middle XY calibration button.
The machine will now move and find its absolute zero.
Next, use the keypad to move the head to the X and Y position where you would like to position your design. In the “[Z]ero” menu, select “Zero [2] axis (X and Y)”.
It is a good idea to record the offset, so when you have to reset the machine, new (related) jobs can be started from the same origin.
Import a toolpath file and press start. The software will warn you to turn on the machine. This is done with the key switch 3.
In case of problems
Press theSpacebar to pause the job and do any adjustments required. Careful, the spindle does not turn off automatically, only the movement of the head and gantry is stopped.
For the individual project, I designed a case for the Silhouette Cameo 4 vinyl cutter. I recently managed to get a 2nd hand one for not too much money. (Yes, the same cutter I borrowed for the assignements in week 3.)
It is a case with two shelves for material storage and a drawer for equipment storage. The cutter will be placed on top and can be operated this way. The drawer will have a laser-cut foam insert in the future. The drawer can be placed in all shelves.
The side panels have in one row normal fillets, t bone fillets and dog bone fillets. This will give a nice indications of the strengths and challenges with each.
The design is made in FreeCAD. I made two designs, one with various dog bones and one without. I exported each body as flattened SVG. In Inkscape, I combined these to a single layout and added screw holes. Then I saved the file as .pdf, .eps and .dxf.
After setting up the machine, I found that the Z leveling was done on a piece of material that curved upwards. Because the first toolpath is for drilling screw holes, the remaining holes were very shallow.
THey were still visible, so fixing screwa in the right places was no problem. After fixing the material to the sacrifical layer, the board was straight and a proper Z leveling could be performed.
V-Carve did not like the .dxf file. All vectors were grouped in one clump. The .eps went a bit better, but a number of dogbones came out wrong. So I ended up using the .pdf in the end.
This file however did contain a lot of double vectors. Ths shapes consosted of four vectors on top of each other. Three were closed and one was comprised of open, unconnected vectors.
I tried removing the first three, but the remaining vectors did not create a closed body V-Carve liked.
V-Carve will ignore any overlapping vectors and automatically remove them. So the toolpaths looked totally fine. However…
A problem became apparent when the profile toolpath did not create any tabs… Luckily, this was a small piece of wood with an inside cut.
I paused the job and investigated. The tabs were created on vectors that were then automatically removed from the resulting toolpath. I tried to automatically add tabs to all vectors and have the double ones be removed automatically, but that did not fix it.
Ultimately, I created a new job for the outline toolpath by selecting the top most outside vectors, move them a known amount out of the board, delete everything else and move the outside vectors back by the same amount. Tabs were now created perfectly.
I stopped the job and re-uploaded the new job. Since the calibration of the machine was not changed, the new job started at exactly the right coordinates.
After a bit of sanding and a few friendly taps with a mallet, the whole case fits together very snugly.
The different types of fillets can be seen nicely on the side panel.
The drawer slides in easily, but needs a bit of glue to keep it firmly together.
As a finishing touch, I plan to make a foam inlay for the drawer.
This will hold all the knives and penholders in place. This foam is PE foam that can be cut in the laser cutter. The foam design is included in the “with bones” design file below.
The design for the case can be found here.
The individual panels can be found here.
The combined paths for the case can be found here.
The design for the case can be found here.
The combined paths for the case can be found here.
The individual panels can be found here.
- The design works and the pieces fit snugly together.
- I learned a ton…
- Various vector formats in various programs do not play nice with eachother. After importing, the first step is to check every path to see if it was imported correctly.
- The fillets were quite tricky in FreeCAD. Next time, I will de-double the vectors in X-Carve and add the necessary fillets there. This saves a lot of time in the design-proces.
- There is a plugin for FreeCAD that places panels in their correct orientation and creates vectors for it. This is developed for laser cutting, but is equally applicable to CNC milling.
- The Path workbench in FreeCAD is very powerful, but a daunting task for the uninitiated. Now that I have more experience with the machine and more time at hand, I will continu playing with it and see if it can create the required files for the Shopbot software.