CNC Workflow: SketchUp, MakerCam, Universal Gcode Sender

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

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 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:

  1. Drill hole in center of riser block
  2. Cut outside profile for riser block
  3. Drill hole in center of star knob
  4. Cut interior shallow pocket for the riser block in the star knob
  5. 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.




  1. 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.

  2. 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.

  3. 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.


  4. 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

  5. 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.

  6. 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…

  7. 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.

  8. 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?

  9. 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.

  10. Jay,

    Having issues downloading that plug in… giving me an error. did you have this issue? where did you download it from? any pointers?

  11. 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

    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 ( 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…

  12. 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

  13. 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?

  14. Hi jay , you are a great teacher . Thanks for the video Jay . i was gonna ask you i am opening . 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

Comments are closed.