What's new
What's new

Learning CNC: Where to start?

Parkermetal

Plastic
Joined
Oct 11, 2016
Hello, all,

This is my first posting in the PM forums and I suppose a formal 'Hello' is due. I've been machining since I graduated High School in early 2014, took a year-long vocational school class in basic machining alongside my senior year. I'm still green, all things considered, but I have learned quite a lot in my time out in the industry, considering I have only had one vacation in my three years running :D . I have learned all I know by going from shop to shop and going under the wing of a few very experienced machinists. I'm very comfortable with manual machining from VTL's to your standard mills and lathes, welding, etc. For a while I worked with a gun manufacturer running/operating Citizen Cincom Swiss machines and moved away to a medical device facility due to better pay opportunities.

Aside from the whole background, my biggest thing is I've been learning a lot and gaining a lot of experience without going to college. Not to toot my own horn but I've been told that I've been doing great for my young age and that by the time my tenth year into the machining industry hits I'll be well off in terms of knowledge. I'm glad that I have been able to avoid college debt thus far, but it seems near impossible to find a source that I can use to learn the essence that is G-Code without dumping money into schooling; something I wish to avoid. I'm very aware that CNC machining is where the industry currently thrives and that manual job shops and fabrication shops are small due to the larger demand for the CNC label on a product. Does anyone in the PM community have some advise on where to look/ what to do to self-teach myself G-Code? Forgive the large background, I just want to make sure y'all know where I'm coming from. :) Any help is appreciated, thanks in advance.
 
there a number of free g-code simulators available on the web - the other thing you will need is a comprehensive guide to all the commands
 
'Learning g-code' is probably not the right way to learn CNC these days unless you're making very simple parts.

CAD/CAM is good enough and cheap enough that you can and should use it in just about every case these days (unless you're making simple lathe parts where plain g-code or conversational programming is enough)...

Learning g-code well enough to be able to debug a program by looking at it is a good thing to do, but when learning CNC as a whole these days I think your focus needs to be on CAD/CAM.

If you're working at a place that already has money spend on CAD/CAM then you should likely learn whatever they are using. However if you're looking to learn something to 'upskill' then learning Fusion 360 is probably a decent place to start, especially as it can be had for free. It includes CAD (3D modeling), CAM (CNC toolpath generation) and simulation of the generated toolpaths all in one package so it's a good way of learning CNC to a basic level without even needing access to a CNC machine. Once you're comfortable modeling parts and programming toolpaths to cut them then you can start trying your programs on a real machine with a cheap material like wood to get the feel for it.

Additionally Fusion 360 is close enough in concept to Solidworks (which is much more widely used) that transitioning from one to the other is not too much pain with a couple of weeks of practice.
 
i can agree with this to an extent. I think that Fusion 360 and CAD/CAM, along with Solidworks is the way to go to be employable for programming and such, but I still think learning the basics and going up from there is the way to go, just like (in my opinion) learning machining from starting with just hand tools and working your way to machines and understanding the absolute fundamentals of machining is how the trade should be best handled (in terms of education). On that note, if I were to start with G-code, getting the basics first and then move on to the really fancy and new programs like Solidworks and Fusion 360, how much am I looking to spend on these programs and who is a trustworthy source to buy/download these from? My current workplace does use Solidworks and CAD/CAM software, so I may be able to get hooked up with them for free/work discount. As for g-code, do I just Google away until I find a downloadable tutorial? I appreciate the reply.
 
i can agree with this to an extent. I think that Fusion 360 and CAD/CAM, along with Solidworks is the way to go to be employable for programming and such, but I still think learning the basics and going up from there is the way to go, just like (in my opinion) learning machining from starting with just hand tools and working your way to machines and understanding the absolute fundamentals of machining is how the trade should be best handled (in terms of education). On that note, if I were to start with G-code, getting the basics first and then move on to the really fancy and new programs like Solidworks and Fusion 360, how much am I looking to spend on these programs and who is a trustworthy source to buy/download these from? My current workplace does use Solidworks and CAD/CAM software, so I may be able to get hooked up with them for free/work discount. As for g-code, do I just Google away until I find a downloadable tutorial? I appreciate the reply.

There's certainly nothing wrong with learning G-Code directly first, I just wanted to emphasize my opinion that knowing g-code by itself is not a terribly useful skill... Especially these days! The program that makes my main product currently consists of 43 operations spanning 6 fixture stations. That program is 60,800 lines of code and I don't think I've ever read a line of that! For trouble-shooting I'm usually going right back to CAM.

However that falls down if you were setting up a new machine and having to tweak the post-processor or something, knowing g-code well in that situation would be useful. It's not a wasted skill by any stretch, I just think that your day-to-day in a modern machine shop usually won't involve reading/changing g-code directly.

For learning the g-code commands the Fadal manual is actually fairly useful, I have a copy of it hosted online here: Fadal-CNC88HS-Full-User-Manual.pdf - Google Drive

That manual lists all the M codes and G codes that the Fadal control will take along with programming examples using them all. Most of those g-codes are fairly standard and should run on most machines.

Learning Solidworks would be great as it's very common and definitely a saleable skill. Smaller shops like myself seem to be moving pretty quickly to Fusion as it's a great product at a much more reasonable price.

Fusion is free to download and you get it directly from Autodesk. Solidworks will cost you $6-8k or more and you'll have to buy it from a reseller. Solidworks probably isn't something you would buy for personal use (unless you're feeling spendy I guess!)
 
My $.02 to the OP would be learn G code and all the little nuances it has. Someday you may want out of the "day-to-day in a modern machine shop" and having knowledge of G code could evolve into a career in the post side of the CAM industry.
 
No kidding! I'll definitely look into that! My big thing is working up to programming Citizen Swiss machines as those seem to be pretty hot tech these days. As for Fusion 360... I think I know what I'm getting tonight (not exactly feeling SUPER spendy for Solidworks if I can try and wiggle into learning it here :rolleyes5: )I seriously appreciate the feedback on that. So if I know this correctly so far, with CAM I can look back into a program and fix a line or two where it should be tweaked, yes?
 
No kidding! I'll definitely look into that! My big thing is working up to programming Citizen Swiss machines as those seem to be pretty hot tech these days. As for Fusion 360... I think I know what I'm getting tonight (not exactly feeling SUPER spendy for Solidworks if I can try and wiggle into learning it here :rolleyes5: )I seriously appreciate the feedback on that. So if I know this correctly so far, with CAM I can look back into a program and fix a line or two where it should be tweaked, yes?

Programming swiss machines is *really* not my area of expertise, let that be said. I'm not sure what the CAM options are for that, I'm guessing that's one area where there's probably a lot more manual programming going on. Either that or you're looking at super spendy specialized CAM packages most likely.

Generally speaking tweaking a program generated by CAM will not involve tweaking a 'line', instead you'll go back and regenerate the toolpath with slightly different parameters to fix the problem... Very, very, rarely you'll have some weird thing happen that you want to fix manually, but I haven't had to do that in the last 6 months. Fixing stuff manually doesn't really make sense when you're using CAD/CAM as then your changes aren't stored in the part/program files and when you make a change to the program you'll have to make your manual change again... That kind of stuff is sometimes justified in a high production scenario where a manual change saves you a few seconds per cycle on a program that's getting run a lot, but for one-off parts or low volume manual tweaking is probably overkill (at least in my experience).

As vancbiker said (and I agree with this) having a knowledge of g-code is not at all a bad thing, just for me personally it's not what I would hang my hat on...
 
My two cents and I may be biased because its what I did :D but head out west for one of the 2 machining year programs. With decent grades there are so many grants and scholarships available you wont be leaving with a mountain of debt.
For learning Gcode Haas has some pretty good training manuals available through their factory outlets.
 
You are doing the right thing, learn all details of G-Code programming and proper machine use first,then later learn one of the many Cad/Cam languages later.
I did almost exactly what you did, I had a manual machining apprenticeship in Germany and once I got here to Chicago, I worked in many, many shops and learned something new in almost every shop.
I have been teaching CNC totally self employed since the early days of the Fanuc control, I usually travel to shops in the US and Canada and teach hands-on CNC turning and milling, with emphasis on really efficient cutting and cycle time reduction.
All of my skills are on my teaching DVDs, you can start learning for free, a condensed version is on Youtube, put in my name to see it.
This is a totally free service I offer, I get nothing out of it, except the satisfaction of helping you an anyone else that wants to learn CNC.
Heinz Putz, doccnc.
If you have any questions once you look, please call or write, my goal is to help anyone with learning CNC to get and hold a better job.
 
Yup, you might as well read about it, as go to a tech school and pay some guy who will tell you to go read a book about it :D

I pretty much RTFM that came with my old (first) Bandit cnc controller, and wrote a bit of code by hand....just enough to learn that "hey, I don't want to write this stuff by hand" :D And back then, you had to know serious shit like how to use G92, which is seldom used (less understood) anymore.

Take Heinz up on his offer, I've never read his materials, but it's a good place to start I'm willing to bet.
 
I really appreciate that, Heinz R. Putz! You know, it was just before I graduated that I figured I had a good enough head on my shoulders that going from shop to shop, learning all i can was the way to go. Honestly I'm sitting at a nice point for a 20yr old just doing the best I can. The great thing about going from manual TO CNC is that when it comes to your lathes and mills, everything is the same, just with a controller, a box to keep chips inside and a relatively faster turn-around for making complicated parts. I will say that using a prototrak for a year in both a mill and lathe was a good way to understanding tool paths and consistent feed rates. As for Swiss, it would be nice to know, but in the long run I may not end up using one. They're a VERY special machine, but not entirely necessary to a shop at most things unless you're doing a lot of secondary operations after you turn a part and want to cut down on time... and if you've got the cash for one:soapbox: but that's just me. I will definitely get home, watch some videos from Heinz, look into getting Fusion 360 and really do some homework though :reading:
 
My $.02 to the OP would be learn G code and all the little nuances it has. Someday you may want out of the "day-to-day in a modern machine shop" and having knowledge of G code could evolve into a career in the post side of the CAM industry.


And i'm kinda at that point. Production is great but once you get the timing.... :Yawn: you know what I'm saying. I personally am a big fan of manual machining and conversational CNC with the protoTRAK and would love to, one day, be that go-to machinist in a production shop and just keep busy from set-up to prototyping, just getting S*** done, making the chips fly. This is going to be a big undertaking alongside just understanding G-Code, I must also understand the correlations in how to properly write it and not fly by the seat of my pants.
 
HuFlungDung, this is exactly my thinking, why pay someone to just tell you what you know you need to do. Just research and ask questions, am I right?
 
HuFlungDung, this is exactly my thinking, why pay someone to just tell you what you know you need to do. Just research and ask questions, am I right?

Yes, you can read all day and learn nothing. When you are busy trying to accomplish something, and you get stuck, then you ask and that is when you really learn it. There are some general guidelines that are great to start out with, like "what is all this crap at the beginning of these programs for? I just want to cut metal" :D You need to study the background of that 'crap' until you understand why it is there. But actually running the machine along a toolpath is no rocket science: G1 makes it go straight, and G2 or G3 makes it cut arcs. It won't move without a Feed rate and the control may not tell you as much ;).
 
Not to hijack your thread or anything, but one of my responsibilities is programming and running an old (circa 1984) Citizen Cincom F20. It's not fast or anything, but it'll run in tenths all week long with very little interaction.
 
Not to hijack your thread or anything, but one of my responsibilities is programming and running an old (circa 1984) Citizen Cincom F20. It's not fast or anything, but it'll run in tenths all week long with very little interaction.

Right, but a lot of citizen shops do change over jobs and the programmers for that are far and few between, I'm aware of them running in tenths all week long- but where I worked previously they were run non-stop on all three shifts and with programs changing once every two weeks if production was lean. These are the new ones, too, and after a while they can get finneky. most of the time there were offsets to be made right from the console, but they do move. I'm not aware of what you're running on yours, but there was anything from trigger pins to bolt carriers for AR platforms, lot of dimensions and lots of programming/ troubleshooting/ etc. Those guys were the ones telling me to really get on with learning from G-code to CAM and everything between. There's a reason the company has been successful and part of it is that the programmers know almost all there is to know about it. These are the L20X, L20E and Star machines.
 








 
Back
Top