My CNC Workflow

Wow, the blogs got off to a good start! Seem’s everyones a bit too hesitant to leave comments on posts but I’ve been inundated with email questions about bits and pieces and parts of my setup. One of the main questions I’ve been recieving is how I go about getting an idea from head to finished product and the workflow used for both milling objects and the paper cutting with the laser module. I’m going to start off by taking you through the process I use for CNC maching parts out of wood and aluminium first then I’ll write another post on how I go about laser cutting things.

I start off by drawing on paper the idea. This is so I can quickly get something down and look at it from a few different angles to see if there are any logical problems with layout and depths and things etc, it also allows me to quickly make changes to design without being too preciece on measurements – these are all really rough drafts, I’m no precision artist – I just get it out of my head and onto paper in the quickest manner as not to forget it by the time I get to a computer.

I then take these ideas into Adobe Illustrator. This is my vector program of choice as this is what I use day in day out at work. We are lucky to own the complete Master Collection at work so I’m pretty spoilt with that. I do reccommend using Inkscape – this is a free program for OS X, Windows and Linux and I do use this for the laser workflow. I draw out in precision the final cut paths in here, I don’t do any 3D machining so all I need is an outline SVG file in the output so any vector program will do the job as long as it outputs a vector SVG format image. Some things to consider in this stage of the process is to choose between millimeters and inches and make sure the document is set to this. If your machine is set to inches then use inches, the same goes for millimeters.

I draw everything in here using lines that are 1pt wide, I don’t really think it matters what colour the lines are and how thick they are but I use this setting as it is pretty small so it can be used to create precise lines. I also like to align the image to as close the the bottom left as possible as this is where X0 Y0 will be in the end so I know exactly where the cutting will start. This doesn’t really matter though at this stage as it can be changed in the next step.

When the 1:1 scale drawing is complete I head over to to program the gcode. If the project is only going to be a quick bit of text like a name or something I will use only because I’m using a highly modified shapeoko 2 and this is sooooo quick and easy to use in a hurry for small jobs! Don’t get me wrong, it can handle complicated tasks as well but I like the fact I can custom order the cuts in makercam over easel.

I open up and import my SVG into it. If you designed your image to align with the bottom left corner you will see it sticks to that in makercam, if not you can use the select tool and move it over to X0 Y0 or wherever you want to start the cut (I drag it just up and to the right of X0 Y0 normally.) This isn’t a makercam tutorial so I’m just going to breeze over this part but a quick search on will bring up some great makercam tutorials.

I set my profile, pocket and drilling operations in some cases and calculate all cut paths then go to export the gcode – I set the order of the cuts, normally drill first, pockets second then profiles third. I don’t normally go any more complex than that! I used follow path once when using the machine for handwriting letters for fun but thats about all I’ve used it for!

I then take my exported gcode file and open up Universal G-Code Sender. I have tried many other gcode senders before and I find UGS the quickest and easiest to use. I tried using in the past but on slow machines it kind of maxed out the older laptops that I was using but with newer machines this is fine as well, I use this as a tool to preview gcode i’m not sure about.

When I have UGS open I connect to the CNCs serial port and click on the machine control tab. I’ll manually move the machine to where I want X0 Y0 Z0 and reset the zeros on UGC. I’ll then move it 10 mm forward, back, left, right, up and down just to make sure the machines calibrated okay and it all ends up where it started. I know this isn’t required but I just like to make sure! I’ll then click on the send file tab and open the gcode file generated from makercam. I’ll open the visualiser up in UGS to make a visual over the cut paths to make sure theres no obvious mistakes in it and check it looks logical.

If i’m about to use an expensive piece of wood or something similar I will raise the Z axis up manually well above the workpiece and do a “dry run” just as a reasurance to myself that it’s going to do what it should be doing. I’ll then cancel the job when I’m happy and reset ready for the actual run.

Sometimes – if required – I will add tabs to the cuts. This is if I think that the design will shoot out and theres not enough security on the peice. I normally stick the wood or aluminium down with double sided carpet tape! But if I think this won’t be strong enough I’ll add some screws into the piece to keep it down. DO NOT CUT INTO SCREWS! Take that lesson from me for free – especially if you are using expensive endmills!

Thats it basically, it’s as simple as that! I don’t do anything complicated really – if there’s any engraving I’ll use a program called F-Engrave and use that to generate the gcode for the engraving but thats about all the special bits there are. I usually open up the gcode file and look through it for anything that sticks out, the more gcode you generate the more you’ll understand whats going on and you’ll be able to spot something odd happening. I also like to add comments in files to let future me know why I’ve done something in the file. I’ll also add my little bit of alarm code at the end of the file and some little bits at the start of the file. Other than that it’s pretty simple – not much too it. I am planning on making a video of the process from start to finished piece as soon as I’ve rebuilt the machine and have time to do something! It will probably be a clock or something.

Leave a Mesage