PDA

View Full Version : Learning CNC maching



oldjim
12-30-2013, 08:23 PM
I am looking for advise on trying to learn CNC (home shop level) starting from zero. And possibly attempting to build a simple unit. Basic book(s) web-sights etc

Tools available:

SB 16x6 heavy
Clausing 12x36
Bench mill
Big old B&S No2 horizontal with a Bridgeport addition ( rebuilding currently)
SB shaper
TIG etc
Plasma cutter

Electronic experience: (long time ago) building various HeathKits

Computer experience: (operating only, no programing) starting with Radio Shack Model 3

Drafting: ok

Thanks
Jim

John Stevenson
12-30-2013, 08:35 PM
How about converting a rotary table or dividing head to CNC.?
Won't be wasted as it can be used on a future CNC machine as a 4th axis or on a manual machine as a stand alone

Weston Bye
12-30-2013, 08:55 PM
Jim,
Let me be a little self-serving here and suggest some back issues of my articles in Digital Machinist magazine. (click on it at the top of this page) Starting in the Winter 2010 issue, I did a series of articles chronicling my own plunge into CNC machining, starting from zero.

I started with a small manual X-Y table that I converted to stepper motors and initially used bolted to the table of my Bridgeport. Later I built a frame with a z-axis and spindle and used the x-y table with that.

More recent articles involve conversion of a mini-mill to CNC, and a 4th-axis attachment is coming next.

I can go into specifics if you wish.

Mike Amick
12-30-2013, 11:26 PM
Speaking from someone who also would love to learn cnc .. my observations are ...

I think the mechanics and cnc commands them self are not too bad. But the whole
CAD/CAM thing is a rough hoe.

iMisspell
12-31-2013, 12:15 AM
oldjim
Personally i would look into learning the G-Code and code by hand at first then move to CAD/CAM.

Ive done alot of hand g-coding for lathes for some time now, never use a CAD/CAM system in production (play a little at lunch time). One thing i noticed with a couple people at work who can pop out CAM programs is if there is a problem with the program or if it needs to be fine tuned or tweeked, they have a real hard time because none of them could hand code. Not that i know this from first hand, but it kind of seams like flying an air plane in "auto mode" and then having to fly the plane in "manual mode".
Just some food for thought.


I started with a small manual X-Y table that I converted to stepper motors and initially used bolted to the table of my Bridgeport. Later I built a frame with a z-axis and spindle and used the x-y table with that.That sounds interesting. Am i understanding this correctly that if/when you wanted to use the Mill as a manual machine, you just took off the modded x/y table ? I like that. Been wanting to motorize the lead Z screw, might give thought into a servo now for furture use with a table like you described.
- Thanks.


_

macona
12-31-2013, 12:25 AM
You dont need to learn g-code. That is like learning postscript. We taught people to use the cnc mills and router at techshop without learning g-code and it works fine.

Just pick up a decent cad and cam and go for it. TurboCAD with the CNC add on can be found cheap on ebay and will do most everything you need.

elf
12-31-2013, 04:05 AM
You dont need to learn g-code. That is like learning postscript. We taught people to use the cnc mills and router at techshop without learning g-code and it works fine.

Just pick up a decent cad and cam and go for it. TurboCAD with the CNC add on can be found cheap on ebay and will do most everything you need.

I agree. You should be able to read gcode and understand it, but programing anything other than simple shapes probably isn't worth it. Here's a handwheel/damper for a Nema23 stepper motor that was done in Cambam. I used Visual Cadd to draw the original and then Cambam to generate the toolpaths:
http://img.photobucket.com/albums/v649/etfrench/HandwheelToolpaths_zpscccaf2a4.jpg

If you haven't used a cad program, then starting with one that's 3D would be better. ViaCad is an inexpensive 2d/3d cad program that's been recommended by others (I haven't had a chance to use it yet). I've tried to use Sketchup, but its user interface gives me migraines :)

philbur
12-31-2013, 06:38 AM
Have you been here:

http://www.cnczone.com/forums/benchtop_machines/

Phil:)

olf20
12-31-2013, 07:35 AM
I also was in a similar position about 8 years ago. I had a Atlas knee
mill and was either going to sell it or do something with it. I decided to
convert it to CNC. To make a long story short, I would have never been
able to do anything useful with it if it was not Vectric VcarvePro.
I did not understand stepper, bob, mach3, or any of the other things
that must come together to make things work. But by far the
design of items was the most questionable for me.
VcarvePro was very easy to understand and tons of help from http://www.vectric.com/
VcarvePro generates the Gcode for you.
Just my .02
olf20 / Bob

Weston Bye
12-31-2013, 07:46 AM
oldjim

.....That sounds interesting. Am i understanding this correctly that if/when you wanted to use the Mill as a manual machine, you just took off the modded x/y table ? I like that. Been wanting to motorize the lead Z screw, might give thought into a servo now for furture use with a table like you described.
- Thanks.
_

Yep, just so. The original control I presented had an LCD display that paused and prompted the operator to set the z-axis and then push a button to continue. The system had some shortcomings that motivated me to move on to Mach 3. If you use Mach 3, you will have to edit the G-code to pause before every z move so you can manually set the tool height and then resume. The editing seems tedious, and could be considered a great motivation to automate the z-axis, but can be done fairly easily with the MS Word find-and-replace function.

As olf20 says, Vectric V-Carve Pro is great, and indeed, its less expensive brother, Cut 2D, is what got me started in CNC. It came to me as a door prize at the Digital Machinist CNC Workshop. I then had to build a system to use it.

JEZX
12-31-2013, 07:54 AM
start learning gcode and by the time you can use it you will be really good at it . i started learning gcode and got a machine 6 months later , still had lots of confusion , the cadcam stuff seemed easy for some programs , but a ton of un needed cutting .
building a machine vs buying one would be my question . lots out there to chose from .

John Stevenson
12-31-2013, 08:52 AM
As part of my association with Sieg and Arceurotrade I have to do a lot of training by email, phone and in person.

This needing to learn G Code ALWAYS crops up. Usually by some clueless person who has no experience repeating by rote what he has heard from some other clueless wonder.

Hard fact is in a morning I can get any one who wants to learn and isn't a complete moron from a drawing to a finished part.
I even have a Mach screen that has no G Code display on it just to show them it isn't needed.

Now having said not needed and some knowledge of it isn't the same thing. What happens in real life when approaching CNC is that you have a learning curve that's almost vertical and looks daunting. However if you split it up into blocks like CAD, CAM, the controller and the machine it's easier to handle.

Take CAD out of the equation because you have been given the drawing and that's one block less.

Take CAM out by using a simple program like Cut2D and believe me I have come across nothing simpler and you are now left with the controller and machine to learn so now your learning curve is only 45 degrees.

Later when this is down to 10 or 15 degrees [ never gets to zero you are always learning ] you can go back and address CAD and CAM better.

If you are interested enough go to Vetric's web site at http://www.vectic.com and find the tutorials for CUT 2D and watch the video of the con rod.

The demo version on the site will allow you to do the 4 tutorials and get code off them but not process your own job.

Must say usual no association with Vectric other than being a user.

Now what happens is as you get more proficient with doing jobs and the machine it suddenly dawns on you one day that you can read the code, it happens by osmosis.

So in practice learning and understanding comes AFTER learning to use the machine.

oldjim
12-31-2013, 11:05 AM
Thanks guys for the good suggestions. Much appreciated. I will follow up on the web sites suggested. I am OK with 2d cad so it sounds like this should help somewhat.

Sir John, the suggestion to start with something simple like adapting my rotary table sounds like a very good place to begin.

Weston, I want to order the back issues of Digital Machinist, addition to Winter 2010, that cover your early work. Could you identify which additional issues would apply.

Being a bit thick headed, some of the ideas seem still a wee bit over my current pay grade. (Be helpful to have a brain like Evans!)

Weston Bye
12-31-2013, 02:26 PM
Weston, I want to order the back issues of Digital Machinist, addition to Winter 2010, that cover your early work. Could you identify which additional issues would apply.

There are a number of articles involved, in two different series, that recount my adventures with CNC machinery.

The first series, Winter 2010 through Fall 2011, is somewhat unconventional, modifying a manual x-y table and scratch building a controller using a dedicated microcontroller. Later in the series I describe an alternative Mach 3 control system using the Geckodrive G540.

The second series, Summer and Fall 2013, describes a nearly turn-key solution using the PMDX-340 CNC controller with a Little Machine Shops mini mill. Although not really part of this series, in the next two issues of Digital Machinist I will be presenting a fourth axis suitable for use with the mini mill as well as other machines.

In the two CNC series I discuss G-code basics, and the use of Vectric and Mach 3 software to get things running.

vincemulhollon
12-31-2013, 03:43 PM
My advice for G-code: start conversational. Rather than turning a dial to move X axis to 2.456 inches you learn G20, F, G0, and G1 and off you go. Your eyes and brain are really handy at moving to something.000 or whatever but the computer doesn't care if its 1.2345 or 1.0000 and its really fast and never gets tired and never screws up. Its sort like manual machining but you don't read dials anymore you just type in numbers.

I wouldn't start gcode by trying to write some crazy 10000 line program or rigid tapping or cutting arcs. Not to start.

Next thing you know you're typing in the same commands over and over... and then you put a list of them in a text editor and cut and paste them into the conversational interface. Then you save that text file and load it in the CNC controller. And then you're a noob gcode programmer. Lots more to learn of course, assuming you want to go down the gcode road.

You're learning about the right speed if you start wishing gcode had features you don't know yet. Hmm imagine if there was some kind of offset or incremental system... time to learn about G90 G91... Imagine if the computer could convert between metric and inch for you... next up, G20 G21 ... Writing peck drilling instructions sure is boring, I wish the computer could drill holes for me ... G81 G83 and a bunch others ... Imagine if the computer could cut arcs for me instead of me typing in 50 little steps and using a file.. G2 G3... Why can't my computer do my arithmetic for me... G1 X [2.0 / 3 * 1.5 - 5.5 / 11.0] ... this here computer is smart, bet it can calculate bolt hole circles using polar coordinates ... (too long to fit here, but yeah it'll do that)

There's a time and place for each technique.

I occasionally have to locate and drill precision located holes for TO-3 outline transistor packages in aluminum heatsinks. There's no way I'm going to spend 3 hours trying to draw that bad boy in CAD and then run it thru the CAM processor and copy files all over creation on flash drives blah blah blah when its literally just four lines of conversational gcode to move to the correct X/Y coords and let me manually jog the Z to spot and/or drill the four holes. The CNC controller doesn't care if the X coordinate is 2.43279 or whatever it just does it incredibly quickly and accurately. Microwave waveguide butchering is easy, mounting all manner of little metric electronic device packages in chassis is fast and fun and the holes always match up, its a breeze. Oh so you want an E-field probe in that waveguide 5.423151 inches from the end? No problemo and it roars over there faster than any human could turn the dials and never makes a mistake. Awesome! Doing that kind of stuff by hand, to that level of accuracy and precision, is super tedious compared to typing one line and hitting enter.

On the other hand it would be very hard to write the gcode by hand to mill an outboard motor propeller. So there's a time and place for the heavy CAD/CAM software too. Although maybe not at the very start.

One advice I have is if you go conversational unless you invest in amazing protection systems your keyboard and mouse aren't going to live very long, so I'd stick to piles of $5 cheapie specials rather than trying to keep a $150 super keyboard alive.

Weston Bye
01-01-2014, 02:51 PM
There are a number of articles involved, in two different series, that recount my adventures with CNC machinery.

The first series, Winter 2010 through Fall 2011, is somewhat unconventional, modifying a manual x-y table and scratch building a controller using a dedicated microcontroller. Later in the series I describe an alternative Mach 3 control system using the Geckodrive G540.

The second series, Summer and Fall 2013, describes a nearly turn-key solution using the PMDX-340 CNC controller with a Little Machine Shops mini mill. Although not really part of this series, in the next two issues of Digital Machinist I will be presenting a fourth axis suitable for use with the mini mill as well as other machines.

In the two CNC series I discuss G-code basics, and the use of Vectric and Mach 3 software to get things running.

I talked with George, and this seemed as good a time as any to mention that Village Press will be publishing a "Shop Wisdom of ..." type book, (I'm lobbying for a slightly different title, but it's up to management) a book containing most of my articles from Digital Machinist, Home Shop Machinist and Machinist's Workshop. They hope to have it ready by Cabin Fever this spring, if you can stand to wait that long.

JoeFin
01-01-2014, 05:27 PM
This needing to learn G Code ALWAYS crops up. Usually by some clueless person who has no experience repeating by rote what he has heard from some other clueless wonder.

Hard fact is in a morning I can get any one who wants to learn and isn't a complete moron from a drawing to a finished part.
I even have a Mach screen that has no G Code display on it just to show them it isn't needed.




Yep

- you hear that just before you hear - "Geez Why did that 1/2" end mill just crash into my vise"

Glug
01-02-2014, 11:06 AM
I've found that learning to produce stuff via cnc has really stretched my brain in good ways. Also, doing this will increase your ability to send jobs to larger machine shops in a way that is economical.

I think you should try and connect with a local "maker space" and become a member. If you are fortunate enough to have those resources locally, use their equipment and software. They will have training. If you are near Pittsburgh, it looks like you have a few resources.

Some of those shops are very awesome, and the machinery available will have you considering projects that you would have never considered before. You may find that one of the best things about it isn't the machinery, but connecting with the like-minded people. And they may have machines that make building your own cnc machines much easier.

http://makerspace.com/makerspace-directory

While I don't necessarily suggest you buy a machine, I do suggest getting some experience before building one. Also, working with software before you have a machine will give you a good idea of what you are getting into. With the new new skills you may find it easy to send a job to a large shop to cut up and drill a bunch of 3/4" aluminum or plastic sheet for your own machine.

I don't use G-code directly or focus on it much. Though sometimes I am so digusted with the g-code my software produces (or cannot produce) that I do look at the code and vow to move to other software. Maybe I'll be more focused on optimization in the future, but I want to spend less time on that minutiae. I want to spend more time making parts and designing cool stuff, and less time bogged down.

The vectric software is okay, especially for learning, but it has enormous frustrating limitations. especially if you are a machinist. If I spend a bunch of time designing a part in software, I expect to be able to make a simple dimensioned print. Vectric doesn't support that. It does some things very well, but misses badly on others.

Also, if I post a message about a bug in their software on the vectric forum, I don't expect to have the posting removed by an admin, and my forum account deleted, without warning or notice.


Yep
- you hear that just before you hear - "Geez Why did that 1/2" end mill just crash into my vise"

Preview and 3d simulation in packages will reduce a lot of that. So will taking the time to run your code above the work piece by raising the Z while you debug. When I've had problems, it's like most other times - it's because I've rushed, taken shortcuts, or am too tired.

Weston Bye
01-02-2014, 12:14 PM
...When I've had problems, it's like most other times - it's because I've rushed, taken shortcuts, or am too tired.

Rushing and taking shortcuts are usually a concious decision and we occasionally get what we deserve. Being too tired is hard to judge. Having had health problems that manifest in symptoms of fatigue, I usually try to put off the work if I think I'm too tired or if I think I will get too tired before the job is done.

JoeFin
01-02-2014, 10:15 PM
Originally Posted by JoeFin View Post

Yep
- you hear that just before you hear - "Geez Why did that 1/2" end mill just crash into my vise"



Preview and 3d simulation in packages will reduce a lot of that. So will taking the time to run your code above the work piece by raising the Z while you debug. When I've had problems, it's like most other times - it's because I've rushed, taken shortcuts, or am too tired.

What are you "Debugging" IF you haven't taken the time to bother learning G-code or the M-code for your machine is my point.

A little "Air Milling" helps but we're talking the difference between plunging an endmill in at 1000 ipm vs: cutting in at 12 ipm - If its slight say .250 you might not catch it but your quill most certainly will. And I think anyone who has spent some serious time running CAM software can attest to exactly how Fault-Free and perfect Post Processors run

John Stevenson
01-03-2014, 05:06 AM
So I have loaded this sign in the program, got it to spit all the code out for a 3 hour job, all 48,000 lines of code and you want me to read thru this to check it ?

I do agree that knowing G & M code helps but it's not necessary from day 1, you will soon get the hand of the code by using it every day.

Do you have to know how a car works before you can drive it ? and will knowing how the engine work prevent you from crashing into a bollard ?

DR
01-03-2014, 06:33 AM
I am looking for advise on trying to learn CNC (home shop level) starting from zero. And possibly attempting to build a simple unit. Basic book(s) web-sights etc

Tools available:

SB 16x6 heavy
Clausing 12x36
Bench mill
Big old B&S No2 horizontal with a Bridgeport addition ( rebuilding currently)
SB shaper
TIG etc
Plasma cutter

Electronic experience: (long time ago) building various HeathKits

Computer experience: (operating only, no programing) starting with Radio Shack Model 3

Drafting: ok

Thanks
Jim

Why do you want to learn it?

Trying to learn it??? It is so simple it's about as complicated as learning to post here. As John S implies you'd have to be a complete moron not to pick it up easily.

I believe Centroid has a download demo program that should take you through the basic programming with graphical program verification. It you get stumped ask a 16 year old to help, they grew up in the digital age and catch onto CNC machining much faster than older manual machinists.

JoeFin
01-03-2014, 06:43 AM
I do agree that knowing G & M code helps but it's not necessary from day 1, you will soon get the hand of the code by using it every day.




Like I said - you'll learn it right after you crash your mill. Lets just hope it doesn't deteriorate the spindle's lifespan too much.

JoeFin
01-03-2014, 07:22 AM
Let me explain a little better

If your referring to learning CAD - then yes, you do not need to know G code or M code. But ultimately the purpose of learning CAD is so you can push the magic button that unleashes the "Post Processor"

Out spits numerous lines of G code and M code where some thing as obscure as '/' can mean the difference between "Absolute Coordinates" or "Incremental Coordinates" and that certainly will make all the difference the world to your machine. There certainly are tricks of the trade in checking your outputted code and that is why most CAM software packages include an "Edit" function.

Especially in a forum where the members are not using the latest and greatest CNC machines, or the best CAM software with tons of technical support, but rather machines cobbled together with Gecko Drives, or older machines with an updated controller - your not going to see a Post Processor specifically written and designed for these machines. Nor would the average CAM operators want to dive into the world of writing custom post processors for each machine.

So here lies the rub -

After climbing by my fingernails of the extremely vertical learning curve of CAM, (because I already had years of experience with CAD), the most practical remedy would be a short "Dual Path" approach at learning CNC programming. Perhaps a few simple exercises in G code such as a bolt hole pattern or a series of arcs together with some drawing exercises designed to teach the end user how to create a "Part" in 3D. And at least a few tricks towards using the Editing functions in the G-code such as "Find", "Flag", and "Goto"

Ya - your right. They will pick up G-code along the way. Or more accurately be forced to learn ALL the intricacies of G-code / M-code as they struggle to get the Post Processor to spit them out. But its a Loooonnnnggg way from simple Bolt Pattern to true 3D milling with a ton of editing in between

John Stevenson
01-03-2014, 09:10 AM
Let me explain a little better

But its a Loooonnnnggg way from simple Bolt Pattern to true 3D milling with a ton of editing in between

Joe,
That is so true but I thought we were talking beginners here and not someone who expects to jump straight in to 3D milling, just as you wouldn't go from reading a book on the subject and expecting to make a complex model of Big Boy is we are comparing to manual machines.

JoeFin
01-03-2014, 09:59 AM
Joe,
That is so true but I thought we were talking beginners here and not someone who expects to jump straight in to 3D milling, just as you wouldn't go from reading a book on the subject and expecting to make a complex model of Big Boy is we are comparing to manual machines.


One of the biggest things I experienced in using the "Book" method of learning was no one went into explaining a few simple commands in the "Edit" screen. "Find" and "Flag" was by far the most useful functions.

And yes - I eventually ended up editing a Custom Post Processor to save time in the edit screen. My machine has an updated Dynapath 50 controller but was originally shipped with a Dynapath 20. The Speed Controller and Relay Board are still the original used with the Dynapath 20 so no post processor is going to work 100% as intended for either revision.

I still say Dual Path for the first few projects would have been a better approach to learning the correlation of CAM drawing with intended Tool Path vs: actual code spit out by the software.

Understanding that correlation will prove invaluable when they inevitably start tweeking their setting and programs with "Rapid Retract" and "Traverse" commands too

But Hey - that's just me - that's what I went through

oldjim
01-03-2014, 12:13 PM
I much appreciate all the feedback to this post. After reading thru the posts and spending some time in the suggested web sites, here is where I think I am: Joefin, thank you for your comments. However it is now obvious to me that I won't live long enough to reach your level of expertise.

I am a long retired mechanical engineer who designed very heavy steel mill equipment for a living. Started on the board. Self taught machinist and welder who is looking for something new to learn. (Use it or loose it!)

I have ordered the 4 back issues of Digital Machinist Weston mentioned to help formulate an idea of the simpler hardware and software involved. I have 2 rotary tables in my shop, one being a little 4" unit. I an thinking of using John Stevenson's suggestion, and adapting digital control to the little rotary table using a breadboard type setup. I am assuming this would be as simple way to start as practical. This could avoid the complications involved in linear type devices to start. Any additional suggestions as to simple motors or software adequate for such a project (or additional comments) would be most welcome.
Thanks
Jim

garyhlucas
01-03-2014, 09:23 PM
I have few other thoughts for you Jim, I'm not a kid I'm 60. I am just about done building a CNC mill/lathe/shaper/horizontal mill/printer that I call the Ifactory. It is an educational tool for my 10 year old grandson. So far the only thing he has cut on it is 200 plastic wheels for my employer. However after we did the first 50 one night I came home from work the next day and he had the machine turned on and had loaded the proper program and was sitting there waiting for me. Here is a link to some pictures.

http://s811.photobucket.com/user/garyhlucas/library/?sort=2&page=1

I've done enough manual G-code programming in my job to be fairly comfortable around it. In truth you only have 4 moves, rapid A to B, Feed in a straight line from A to B, Arc to the right from A to B, Arc to the left from A to B. That's it, all the other codes are setup parameters, canned cycles for peck drilling and such and control of the spindle, coolant, etc. However, that said I don't much bother doing any G-Code programming. I use CamBam instead. The reason is simple, I want to make a part not program. Simple case, I'd like to clean off the top of a rectangular block, common job. I could write lines of code to move the X+ Y-X- Y- X+ Y-X+ but that could be a lot of code and lots of typing that I might do wrong. Instead I draw one straight line in CamBam a little longer than the block so the tool goes off both ends. Then I set the depth of cut per pass, final depth, tool diameter, and width of the cut a little wider than the the block. Press one button to generate and view the toolpath. Press another to save the G-Code. Load the file in Mach 3 on the machine and after finding the edges and top of the block I single step the program to see that the tool is going to go to the right place. I also override the speeds and make it move slow. And yes at this point I am reading each line of G-code looking for what will happen before I press the button. This is the point where you are learning G-code by reading code written by an expert (the program) and watching what each line does. Then I let it run and adjust the speeds upward once I am comfortable. I could of programmed and cut a 2" square block in less time than this took to write!

Something to consider. Buy a used Sherline Lathe/Mill off Ebay set up for CNC. They are over priced because they are so popular. They are great learning tools for CNC though. When you get tired of such a small machine, which you will, you flip it back on Ebay and get most, all, or more of your money back. That's how I built my machine, bought a lathe mill manual combo, used the spindle on my CNC and realized it was too small. I sold everything Sherline related back on Ebay after making every part needed for a bigger better spindle.

Jump in with both feet, you'll feel like a kid again!

JoeFin
01-04-2014, 07:29 AM
Excellent points you brought Gary

Sorry Jim - I do have a tendency to over complicate things.

The guys here are telling you straight, and no you are not too old to learn CNC. I only started 5 yrs ago at age 50 - but I'm a little more "Hard Headed" and determined then most.

I do know some one here on the forum that has the little CNC from the class Weston set up. He is not using it and has only run it in his living room a few times to see it work. He has a full sized Bridgeport 2 axis CNC he uses and only used it as a learning tool.

If you would like I will PM him and suggest he contact you

JoeFin

John Stevenson
01-04-2014, 08:00 AM
OldJim,

Look at this thread and in particular the last post with the link,
very informative and a work in progress you will be able to follow.

http://bbs.homeshopmachinist.net/threads/57085-Kwackers-CNC-Rotary-Table-Controller

Weston Bye
01-04-2014, 08:08 AM
Joe,
A little clarification is in order here. You credit me with setting up the CNC build classes that were held at the Digital Machinist CNC Workshops a few years ago. Sorry to say, that was not so. George Bulliss and Ron Ginger deserve credit for the class. Though present at the workshops, I was behind the times and only later worked up my own (inferior? no ballscrews) version of a bench top CNC.

DICKEYBIRD
01-04-2014, 10:27 AM
Hi oldjim, old Milton here. I think you mentioned you have 2D CAD skills? Take a look at Ace Converter (free) http://www.dakeng.com/ace.html. You can draw up a simple something you might want to make, save it as a .dxf & load it into Ace for the conversion to G-Code. The site also has a lot of info that helps with the learning curve.

Download Mach3, (free trial) load your G-Code & watch the code run onscreen. Ace is more of a router program but it's a good (& free) way to get started in the world of 3-axis CNC.

The expense issue may not be a problem for you & if so you'd be better off going with one of the commercial products mentioned earlier. Me, I had to start with free stuff and go from there.

Good luck to you!:D