Introduction
Group assignment:
Complete your lab’s safety training
Test runout, alignment, speeds, feeds, and toolpaths for your machine
Make (design+mill+assemble) something big
Group assignment
Shopbot operation
Overview
The FabLab Amsterdam owns a Shopbot which is prepared to mill sheet material with dimensions of 2440mmx1220mm. The shopbot reised in a separate space in the Fablab.
![shopbot_overview_2](shopbot_overview_2.jpg) |
![shopbot_overview_1](shopbot_overview_1.jpg) |
Shopbot when entering the room, looking down the negative y-axis |
Shopbot looking at in the positive y-axis |
The rather intimidating machine is driven by a number of large stepper motors. When the machine eventually moves, it moves with a speed and ferocity which you would not expect of a machine this size. We were constantly reminded by our instructor that this was a dangerous machine.
![shopbot_x_axis_stepper_1](shopbot_x_axis_stepper_1.jpg) |
![shopbot_x_steppemotor_2](shopbot_x_steppemotor_2.jpg) |
![shopbot_y_stepper_motor](shopbot_y_stepper_motor.jpg) |
X-stepper motor 1 |
X-stepper motor2 |
Y-Stepper motor |
![shopbot_z_axis_and_spindle](shopbot_z_axis_and_spindle.jpg) |
The z-axis and spindle |
![shopbot_2_inch_router_for_flattening](shopbot_2_inch_router_for_flattening.jpg) |
![shopbot_flattened_sacrificial_layer](shopbot_flattened_sacrificial_layer.jpg) |
Using a 2-inch router… |
…the sacrificial layer is milled flat with respect to the machine |
Safety
It is very important that safety measures are taken into account when operating the shopbot.
- Loose hair and loose clothing can get stuck in the moving parts of the machine
- Flying debris and broke milling bits can fly of in any direction and hit parts of the machine, or humans.
- The friction of the milling bit can start a fire when it’s moving too slowly
- Sparks can fly in the dust collector and start a fire
- The machine can be obstructed and break.
Some safety precautions:
- No loose hair
- No loose clothing
- Don’t touch the device when it is in operation
- Wear safety goggles
- Wear ear protection
![shopbot_clearance_area](shopbot_clearance_area.jpg) |
Before operation, make sure the area next to the shopbot is clear. No material should be leaning against the machine |
![shopbot_dustcollector_2](shopbot_dustcollector_2.jpg) |
![shopbot_dustcollector](shopbot_dustcollector.jpg) |
The shopbot dust collection system runs from the mill… |
…to the dustcollector in the back |
![shopbot_dust_collection_bags_clips](shopbot_dust_collection_bags_clips.jpg) |
![shopbot_fire_extingguisher](shopbot_fire_extingguisher.jpg) |
When the mill hits a metal object, sparks might ignite the dust in the dust collector. When this happens stop the machine, loosen the dustcollection bag and check for fire. |
A fire extinguisher is always at hand. |
![shopbot_emergency_exit_2](shopbot_emergency_exit_2.jpg) |
![shopbot_emergency_exit](shopbot_emergency_exit.jpg) |
In case of fire use the regular exit… |
…or the emergency exit |
![shopbot_emergency_stop](shopbot_emergency_stop.jpg) |
In case of emergency, use the emergency button to cut power to the machine altogether. |
![shopbot_fingerchopper](shopbot_fingerchopper.jpg) |
Keep your hands away from the machine while it’s operating. The machine path can be quit unpredictable. The geared rails on the sides are genuine finger choppers. |
Before the shopbot can operate, you have to prepare the tool path. Already at this stage, safety must be taken into account. A wrong tool-path can hit screws and start fires, or mill too deep and demolish the sacrificial plate or break the machine.
![vcarve](vcarve.jpg) |
![vcarve_file_import_formats](vcarve_file_import_formats.jpg) |
V-carve is the software used for preparing the toolpath |
It supports a range of vector formats…but no .svg |
![vcarve_job_setup](vcarve_job_setup.jpg) |
When starting VCarve, you are presented with the opportunity to set up your job. Be sure to set it to mm when not in the USA |
![vcarve_material_setup](vcarve_material_setup_2.jpg) |
|
Always measure the thickness of your sheet material, as it is never the thickness as is advertised. |
|
![vcarve_material_setup_2](vcarve_material_setup.jpg) |
![vcarve_error_when_safe_height_too_low](vcarve_error_when_safe_height_too_low.jpg) |
The clearance height is the safe distance above the stock material. |
An error occurs when the milling bit will be at the wrong height |
![vcarve_create_toolpath](vcarve_create_toolpath.jpg) |
![vcarve_create_pocket_toolpath](vcarve_create_pocket_toolpath.jpg) |
Start creating a toolpath for the selected shapes. Select “pocket” toolpath for milling a pocket. |
Enter the depth of the pocket and select the milling bit you want to use. |
![vcarve_imperial_setup](vcarve_imperial_setup.jpg) |
![vcarve_add_milling_bit](vcarve_add_milling_bit.jpg) |
VCarve is mostly based on imperial measures. |
We use a 5mm milling bit. The pass depth is taken as half the milling bit diameter. |
![vcarve_profile_toolpath](vcarve_profile_toolpath.jpg) |
Select the profile toolpath for shapes that represent the outline of the parts. Be sure to first mill out the inner parts (holes, etc. before milling the outer parts) |
Tabs are little pieces of material that are not being milled out on purpose, to prevent loose parts from flying of and interfering with the milling process.
![vcarve_tabs](vcarve_tabs.jpg) |
![vcarve_tabs_setup_2](vcarve_tabs_setup_2.jpg) |
Select the dimensions of the tabs. |
You can put tabs in manually or automatically. |
Screws are used to secure the stock material to the sacrificial layer. The mill must absolutely not hit any screws because this might cause a fire in the dust-collection bags. Therefore, the screws have to be part of the toolpath.
![vcarve_draw_screws](vcarve_draw_screws.jpg) |
![vcarve_draw_screw_2](vcarve_draw_screw_2.jpg) |
Draw circles (5mm in diameter) to indicate where the screws can go. |
Select a drilling toolpath for the screws. |
![vcarve_simulation](vcarve_simulation.jpg) |
Simulate the toolpath before saving it. |
![vcarve_save_separate_toolpaths](vcarve_save_separate_toolpaths.jpg) |
Save the toolpaths. Drilling the screws should be in a separate file. The inner paths and outer paths can go in one file. |
Milling
Changing bits
![shopbot_2_flute_endmill](shopbot_2_flute_endmill.jpg) |
![shopbot_tool_fixation](shopbot_tool_fixation.jpg) |
A 5mm 2-flute endmill is used for all out milling |
Securing the milling bit to the spindle is done with these tools |
The key to start the spindle is attached to one of the tools to secure the milling bit. This way you can’t ever try to change a bit on a spinning spindle.
![shopbot_collet](shopbot_collet.jpg) |
![shopbot_collet_nut](shopbot_collet_nut.jpg) |
The collet is the part that grips on the milling bit. |
The collet is fastened with this nut |
The order of operation of changing a milling bit should be:
- Insert the collet in the nut.
- Insert the tool in the collet
- Screw the collet to the spindle.
Don’t do it the other way around: the collet won;t fit nicely on the spindle and the tool will be skewed.
Before starting the control-software, first start the machine, and secondly, start the dust-collection system using the switch in the back.
![shopbot_on-off_switch](shopbot_on-off_switch.jpg) |
![shopbot_duscollection_operation](shopbot_duscollection_operation.jpg) |
The ShopBot is turned on with the big red switch on it’s side. |
The dust collection system has it’s own power switch |
![shopbot_operation](shopbot_operation.jpg) |
The orientation of the operator is important. The display is turned towards the positive y-axis |
![shopbot_jogging](shopbot_jogging.jpg) |
The shop-bot software allows the operator to jog the machine along different axes. To do this, press k . The arrow keys will jog the device: up and down for positive y and negative y, Right and Left for positive x and negative x, PageUp and PageDown |
When jogged towards the lower left corner of your product, set the x- and y-axis of the project to 0.
![shopbot_zero_xy_axis](shopbot_zero_xy_axis.jpg) |
![shopbot_zero_z_axis](shopbot_zero_z_axis.jpg) |
Press this button to set y and y to 0 |
Zeroing the z-axis is done by probing |
Tip |
Make a picture of the x and y coordinates before zeroing the x and y axis. You will need this to continue the job after something fails. |
When the right tool is installed, the toolpath is loaded and all axes are set to zero, the milling can begin, but first:
![shopbot_on-off_switch](shopbot_on-off_switch.jpg) |
![shopbot_set_rpm](shopbot_set_rpm.jpg) |
Turn on the spindle using the key on the tool-change-tool |
Set the spindle to the appropriate speed on the spindle controller, located beneath the machine |
![shopbot_duscollector_operation](shopbot_duscollector_operation.jpg) |
Start the dust collection using the button at the right of the operator seat |
A checklist before milling:
- Are all axes properly zeroed
- Is the spindle running
- Is the dustcollector running
- Is the machine free of any debris
![shopbot_start_milling](shopbot_start_milling.jpg) |
![group_project_milling](group_project_milling.jpg) |
Start the milling process in the software |
It mills. |
When the milling is finished, the parts are still stuck to the leftover material. We found the best way to get them out is using a blade of a hacksaw because it’s thin enough to get through small gaps.
![shopbot_best_saw_for_tabs](shopbot_best_saw_for_tabs.jpg) |
A hacksaw blade does the trick for getting the parts out. |
Group experiment
To get to know the machine a bit more, we milled out two pieces of layered plywood of 20mm thickness. One with the conventional
setting, and one with climb
.
![](conv_climb_explain.jpg) |
For climb milling (left), the bit rotates in the same direction of the feed. For conventional milling (right), the milling bit rotates against the direction of the feed. |
![](conv_climb_test.jpg) |
Two pieces were milled, one with conventional milling, the other with climb |
![](conv_closeup.jpg) |
![](climb_closeup.jpg) |
The conventionally milled piece had more splinters. |
The piece milled out with the climb setting enabled was les splintery. |
Make
For my project I wanted to create a cool looking table/stand to put my instrument on.
Design
I wanted to take the opportunity to learn Grasshopper, a parametric modelling tool in Rhino. Some youtube tutorials led to the aesthetic I quite liked. An organic shape that is built from separate 2d cross-sections. Not knowing beforehand what I wanted to make, I chose to use a plate of plywood, 1220mx2440mm in size and 9mm thick.
![make_inspiration](make_inspiration.jpg) |
Lots of tutorials to learn how to make a parametric bench in Grasshopper |
However, I din’t have much time to design the product and designing something, making it ready to ill AND learning a new piece of software in one evening was a bit too much. So I decided to still use Rhino, but not make my design parametric.
The design would be a simple loft of closed three curves, which I could use to make cross-sections that could be milled. I planned to assemble the cross-sections by using three broomsticks to connect them.
![rhino_curves](rhino_curves.jpg) |
![rhino_lofted_annotated](rhino_lofted_annotated.jpg) |
The design started with three curves. The center curve was slightly off-center |
The final object when lofted was curved in the xy-plane. The curves were chosen rather randomly but some features were deliberately added. |
![rhino_rough_dimensions](rhino_rough_dimensions.jpg) |
|
![rhino_preboolean_bars](rhino_preboolean_bars.jpg) |
![rhino_side_horizontal_bars](rhino_side_horizontal_bars.jpg) |
![rhino_boolean_bars](rhino_boolean_bars.jpg) |
I capped the lateral sides of the design |
Cylinders would cut holes… |
… with a diameter of 23mm (the diameter of a broomstick) |
![rhino_points_for_sections](rhino_points_for_sections.jpg) |
To make the coss-sections I used the “array along curve” tool in Rhino to lay out 9 evenly spaced points |
![rhino_sections](rhino_sections.jpg) |
Using a Rhino plugin called SectionTools it was easy to create cross sections of the design |
![rhino_nested](rhino_nested.jpg) |
SectionTools also helped with the nesting but eventually I nested the parts by hand because I would be able to make the most of the space I had at my disposal. |
![rhino_render](rhino_render.jpg) |
After rendering the object I could already have seen that the cylinders to keep the object together did not resemble the dimensions of broomsticks. |
Prepare
![make_prepare_layers](make_prepare_layers.jpg) |
I used layers to make it easier to select shapes belonging to a similar toolpath |
![make_prepare_holes_toolpath_settings](make_prepare_holes_toolpath_settings.jpg) |
![make_prepare_shapes_toolpath_settings](make_prepare_shapes_toolpath_settings.jpg) |
![make_prepare_drill_toolpath_settings](make_prepare_drill_toolpath_settings.jpg) |
Settings for the “holes” toolpath |
Settings for the “outline” toolpath |
Settings for the “drill” toolpath |
![make_prepare_save_toolpath](make_prepare_save_toolpath.jpg) |
Make sure to select the metric profile when exporting. Fortunately the Shopbot software warned me for this. |
![make_prepare_all_toolpaths](make_prepare_all_toolpaths.jpg) |
![make_prepare_simulated_milling](make_prepare_simulated_milling.jpg) |
Visualizing… |
…and simulating the toolpaths. Everything seemed OK |
Mill
![milling_flat_surface_not_flat](milling_flat_surface_not_flat.jpg) |
Before putting down my material I noticed the sacrificial plate was not entirely flat. There was a ridge on the upper y-limit that would lift my material for at least 1mm. I had to take that into account when laying down my sheet |
![milling_measure_1](milling_measure_1.jpg) |
![milling_measure_2](milling_measure_2.jpg) |
![milling_measure_3](milling_measure_3.jpg) |
![milling_measure_4](milling_measure_4.jpg) |
Measuring al |
four corners of |
the plate yielded |
different results |
I took the largest plate thickness to plan my toolpath, as not to damage the sacrificial layer.
![milling_screws_9mm_stock](milling_screws_9mm_stock.jpg) |
For 9mm sheet material I used 3x2.5mm screws to secure the sheet material to the sacrificial layer |
Look out not to break screws but if one breaks, be sure not to leave broken screws in the sacrificial layer.
![milling_counting_screws](milling_counting_screws.jpg) |
By counting all the screws I put in, I was sure to get them all out again |
![milling_zero_offset](milling_zero_offset.jpg) |
Before zeroing the x and y axis, I took a picture of the x and y coordinates |
![milling_finished_looseing_screws](milling_finished_looseing_screws.jpg) |
After the milling was finished, the screws could be undone |
Assemble
Now the product was just a bunch of loose plates. During the milling process I realized I made a mistake in the design. As I was planning to use broomsticks to hold the pates together I realized I had mistaken the broomstick diameter for the broomstick radius in the design. The holes were now 45mm wide instead of 23. As a replacement I bought 3m of white PVC pipe.
![final_product_preview](final_product_preview.jpg) |
This wasn’t wide enough to fit in the 45mm hole, so I designed and printed adapter rings. |
![openscad_ring](openscad_ring.jpg) |
Using OpenSCAD adapter rings were designed |
![final_product_assembling](final_product_assembling.jpg) |
The adapter rings appeared to be slightly to small for the holes in the wood and slightly too small for the PVC pipe to fit through |
Eventually I stuck to using these rings as I was out of time to print new ones.
![final_product_almost_assembled](final_product_almost_assembled.jpg) |
Because of the measurements ot the rings, assembling the product was quite hard. I will have to print new rings eventually. |
![final_product](final_product.jpg) |
But overall I’m satisfied with the aesthetic of the final design. |
links