The actual information that a CNC machine uses to determine where to move is called G-code. There are many ways to not only transfer the G-code to the CNC but also to actually generate the G-code. Today I’m going to show you a simple workflow that can be used with SketchUp, MakerCam, and Universal G-code Sender. At the end of this article I will have download links for the programs and plugins used in this workflow.
There might be some better programs out there that can do it all but the main objective here is to get control of both the design phase and the tooling phase without spending money on expensive programs. I also have been playing around with a SketchUp plugin to directly generate G-code in SketchUp but that will be for another day.
Designing exactly what you want in SketchUp
The benefit of designing in SketchUp is its incredibly easy to work with and it has great accuracy. For this example project I am going to be making a 3” 5 point rounded star knob. It will also have a riser block to elevate it slightly. The material I am going to be cutting is 3/4” cheap CDX pine plywood. I made the model in 3D for illustration purposes only. It’s not necessary to actually create a 3D model for this step as you are really only going to be using one plane to get the faces from. The rise block will be located in a shallow recess on the knob. This will ensure that both interior holes for the bolt remain concentric.
Export Faces To SVG Plugin.
After making sure all of the faces we need are on the same plane (they don’t technically have to be, it just makes things easier) we can select the faces to export and click on our Export Faces To SVG plugin (download link at the end). The first thing to do is click the “…” button to determine where to save our SVG file. Then name the file as you wish and also add the .svg file tag at the end of the file name. Select inches or millimeters depending on what you are using. Then click save.
Defining exact toolpaths in MakerCam.com
Now we have a precise drawing of what we are wanting to cut that can be opened in MakerCam. MakerCam is a flash-based 2.5d CAM and nesting program that outputs standard G-Code for use in CNC fabrication devices and runs directly in your browser by going to MakerCam.com. Once there you can click on File > Open SVG File. Browse to where you saved your SVG and click open. I won’t go into great detail on actually using MakerCam as in the top right corner of the MakerCam window is a link to a great tutorial page to get familiar with the program.
The actual tooling specifications and speeds will depend on your setup. I was using a 1/4” bit in a Bosh Colt router. I’ve had success running some pretty aggressive speeds in it so far but I backed it off slightly for this example. It’s good practice to create the toolpaths that you want to cut in the actual order that you want them cut. For this model I used the following sequence:
- Drill hole in center of riser block
- Cut outside profile for riser block
- Drill hole in center of star knob
- Cut interior shallow pocket for the riser block in the star knob
- Cut outside profile for star knob
With all of your toolpaths complete go to CAM > Calculate All. This will calculate the paths needed based upon your bit diameter to complete your specified cuts. After everything is calculated green paths will be displayed letting you know exactly where the center of the bit will travel. There are also some green triangles that indicate where the bit will plunge down and also the direction it will travel. Because the outside cuts are through cuts we need to add some tabs so the piece doesn’t get damaged when it is freed from the rest of the material.
First, the paths where you want the tabs to be on are selected. Then go to CAM > Add Tabs To Selected. From here you can specify the spacing between tabs (you can move them around once placed), the tab width, and the tap height. It is important to note that the tab width does not take into consideration the diameter of your bit. For example, if you want a 1/4” wide tab and are using a 1/4” wide bit you need to specify a 1/2” tab width in the menu. I found this out the hard way and confirmed that was the case after a quick Google search. Then press OK to view your tabs. Click on the tabs and move them around as needed.
All the tooling should be complete at this stage. To generate actual G-code go to CAM > Export Gcode. If you created the toolpaths in the order you want them to be cut they should already be in the correct order. But if you didn’t you can always select one of the toolpaths and then select + or – to raise or lower it on the list of cuts. Once you have them in the proper order to cut select the all button and then Export Selected Toolpaths. In the next menu you can specify the name of your Gcode file and the location in which you want to save it.
Universal Gcode Sender to communicate with your machine
With the Gcode generated you need to actually send it to the machine. For that I use Universal Gcode Sender. Once the program is launched click Open in the connection box to establish a connection with your machine (the machine must be on by the way). Your machine may be setup a little different than mine but before I cut I always put the cutting tool at the home position with Z=0 directly on the top of my work surface. With my machine in the home position I always go to Maching Control and cick Reset Zero. Then go to File Mode and click Browse to locate your saved Gcode file. Once selected you can select Visualize to see a representation of exactly what your cut will look like. If everything looks as it should press Send to send the cutting information to the machine. Make sure you turn the cutting tool on as you do so. The machine should now be going through the created Gcode.
The scrap plywood I was using had some ebony stain on the top layer which actually looked pretty neat when it was all cutout.
After cutting the piece lose from the tabs You can test the fit of the riser block. If everything went according to plan the riser block should fit securely into the shallow pocket. I ended up making a bunch of these star knobs for my new router table fence. The center holes are 1/4” in diameter which is perfect to manually thread a 5-1/6”x18tpi carriage bolt into to create a threaded knob.
Downloads
- SketchUp: I have been using the free SketchUp version 8 for years. I already have multiple versions that you can download listed on this page.
- Export Faces To SVG plugin for SketchUp. Google is your friend if you don’t know how to install plugins in SketchUp.
- MakerCam.com
- Universal Gcode Sender
- Right click here and select “save target as” or “save link as” to download my SVG file for these star knobs.
Hi Jay, Just curious. Do you like Universal G-code sender better than Grbl controller?
I’ve never used Grbl controller. I only have experience with UGCS.
I think you missed your calling. You would be an excellent teacher!
Great step by step Jay, Thank You!
Thank you Nikola.
You are a great teacher of things. Thanks for breaking it down. Aloha!
You’re very welcome William. Thank you for the feedback.
Hi Jay,
In this video I noticed that you have made some changes to the Shapeoko 2 such as the spindle and the side rails. Have you or are you going to cover these upgrades?
Keep up the great work.
I’m not sure if the spindle will remain in the machine. I have mixed feelings about it. The side rail covers are just cardboard.
Thanks this will help when I get mine
You’re welcome Jim. Glad it can be of some help.
Is a vacuum table and a turning attachment in your future?
Vacuum table maybe. Turning attachment probably not.
OK, the CNC is starting to get more interesting.
Wow so I’m thinking… cutting some of Matthias’s gears next, hmmm?
Why don’t you ever use nice wood like cherry or walnut for your projects? Very good teacher at explaining everything.
I don’t have access to any, cheap pine is friendlier on my budget, and I don’t feel confident in ordering any online.
What is the largest workpiece that shapeoko 2 will take, would you not maximize your parts to that size workpiece, say make 6 instead of one ?
The largest size is about 11.5″ x 11.5″ or close to it. I’ve just been cutting scrap plywood that would otherwise not have a use so I’m not too concerned with material loss.
Jay,
Outstanding and timly… I just got the kitchen pass to order a Shapeoko 3. As a one time Navy instructor let me complement you on your teaching cadence. It is spot on.
By the way, as a long time Bills fan… Thanks for the use of your stadium this past season.
Ed
Thanks Ed. I appreciate the feedback. It was odd seeing the Bills playing at Ford Field. Hopefully both of our teems improve over the off season.
I think I miss something what determent the basic size ( How big the knob would be) Was that done in sketchup But everything else just made a clearer picture for me ,thanks for ALL the info and the teaching lessons.GREAT JOB AGAIN
I already designed the knob in sketchup to it’s appropriate size. The goal of the video was to highlight the workflow between programs. I didn’t want to drag it on with sketchup work.
Thanks again, GREAT JOB you answer my question ,you draw the knob to size on sketchup and moved over to the other program or Work flow , so any thing you what to make with a cnc you have to draw it up on a sketchup program Or something like it, So I guess I need to learn the sketchup program
Thanks for the video Jay! I have a Shapeoko 3 on the way and have been stressing about how to get things going on the software side. This looks like a great way to get started.
Absolutely. There are many different workflow options for CNC work. This is just one of them. I urge you to experiment and play around with the different options and choose what one is best for you.
Fantastic presentation! Knobs with male threads are one thing; have you considered making a knob with a recess for a standard nut? Can you change bit size in the middle of a cnc operation? I would expect the 1/16″ bit best for the recess…
I haven’t for a standard nut but I made a knob that accepts a tee nut for my router lift locking knob.
Great video !!!
Jay,
Great job on the video! I agree with other comments that your cadence is spot on. Who knew it was this much work to get from 3d shape file to actual instructions for the CNC machine? I have worked with engineers doing AutoCAD and I just assumed you made your 3d object and sent it over. Thanks for the very clear walkthrough.
Alvin
Im having trouble installing UniversalGcodeSender-v1.0.8 on to my windows 8.1 system. do you know of a way or do i have to make a linux system for it?
Jay,
I’ve ordered my new machine and have not received it yet, but I have been going through your process steps to get up on the learning curve. One of the things I want to make with my machine has a 16″ round piece. Did you need to adjust the number of segments that define the round perimeter of the shallow pocket or the rounded outline of the knob within Sketchup? Did you experiment with this or did the rounded edges magically appear round on the CNC? Based on what I see in Makercam, it appears I may need to change the number of segments that define the circle. It is not very smooth.
Sorry for the long question. Thank You for all the information that you provide.
I don’t like the look of the default 24 segments that SketchUp uses so most of the time I change the segments to 100 before making a circle.
Jay,
Having issues downloading that plug in… giving me an error. did you have this issue? where did you download it from? any pointers?
Click the link that I provided and then click the down arrow on the top middle of the screen.
Great video. I upgraded to Sketchup 2015 on my Mac prior to seeing your video. I found that the Sketchup plugin didn’t work and, after some research, found that it was due to the upgrade. There is a forked version of the plugin by Joakim Soderbergh that seems to work well. The URL is https://github.com/JoakimSoderberg/sketchup-svg-outline-plugin
Rather than renaming the .rb file to .rbz (because Sketchup wouldn’t accept the extension), I followed the Sketchup instructions for installing a .rb extension by copying the file into a library directory (http://help.sketchup.com/en/article/38583). After restarting Sketchup, and activating the extension in the Preferences, it seems to work fine. I just can’t wait for my X-Carve to arrive to put your advice to use…
OK, not so sure it was a win. I can’t seem to save SVGs from the extension. Guess this means more work…
On my end I noticed I HAVE to put .svg after the file name. Are you doing this?
The filename was repopulated with .svg but, even after retyping the file name with .svg, nothing seemed to happen when I clicked the Save button.
hey bill just wondering if you ever found a fix for this, my plugin is doing the same thing.
Thanks
Ryan
hey bill did you ever find a way to save to the plugin im having the same problem
It will be necessary to configure UGCs with the pass screw Z axis and the timingbelts of the axes X and Y?
Or the configuration is done already?
Thank you.
Kind regards,
M. Madeira
Can makercam do millimeters ?
Yes
Jay now that you have been using a CNC for awhile is this still the workflow you follow? What is your workflow from design to being able to cut on your new CNC? Do you still design in sketch-up or have you changed to something else?
Hi jay , you are a great teacher . Thanks for the video Jay . i was gonna ask you i am opening makercam.com . it dose not open full page , and i can’t work with it . i tried it on all other global searches , they are the same . can you tell me what to do please. THANK YOU JAY