What's new
What's new

CAM vs Hand Coding

Greetings,
I'm with most of the crowd here; you *must* be able to sight read the Gcode.
You don't need to be able to write it, necessarily, but you *must* be able to error check for bad retract heights, and things like that.
Because none of us have ever slipped up when defining a part in a CAM package. That never happens.
As someone upstream said, it's the difference between a 10 second fix and $10,000 worth of new spindle.

Being able to do minor tweaks to the G-code also makes it easy to tweak settings on the machine, without needing to go all the way back to the CAM station and reposting.

It also lets you clean up the code. Most CAM packages output spaghetti code. It's 'belt, suspenders, duct tape and staples' to make *sure* the machine goes where they want it to. I got one program for repeated drill holes from about 3,000 lines, down to about 150, just by clearing out the redundant crap. Which increased both load speed, as well as machine speed, and legibility for later reprogramming.
And our CAM package routinely fubars the tap cycles. Which doesn't bug me because I can fix them by hand faster and more dependably than I can fix them in the CAM package.

I use the CAM package for getting the numbers right, but then I go back and clean up the code to make the thing work better.

We also have a 7 axis Swiss. That's 100% Pencil cam. Because you're playing dodgeball with your tools all the time, and trying to model all the tools and tool locations would just be nuts. Especially for the sorts of non-standard tooling that happens on Swisses. Also because the CAM packages are so conservative about their moves, they spend a lot of time just moving to 'safe' positions. On a 10,000 part run, every second I shave out is 2.75 hours less at the end of the run. I can normally shave 20-30 seconds out of the programs without half trying. That's *days* of run time, just by way of me knowing how far back is 'safe' for this particular setup, instead of taking both spindles all the way to Z=0 every time.

So yeah, you have to know G-Code, at least enough to see problems. More is better, but basic "what's it gonna do next? and does that make sense?" familiarity is definitely required.

Regards,
Brian
 
I don't think I'll ever be able to understand this one. Not knowing or understanding what the code will do for you is just wild to me.
I know exactly what it will do with cam simulation. That's the whole point. I get understanding the basics, which is pretty simple and straightforward.makes sense obviously for education. But if you want to make money (at least in my case), I can design, cam and be bolting together many parts before the day is over. Next day will be something completely different. 3000 lines of 3d surfacing etc. I certainly admire people that can finger bang out parts by hand. But no need with current methods. I understand G-CODE only as needed to change my post processor for my specific needs/machine.
 
I do both cam and hand written g code.

I use strictly cam for mill work. For lathe work, I get my tool nose comp from cam (in computer post) instead of using hand written g41/g42 and incorporate that tool nose comp info from cam into handwritten canned cycles for the lathe. For example for lathe, I get the full finishing path from cam, copy that finish path into a g71. So in the handwritten code, I do a g71 to rough it all and leave material in x and z and then run a g70 to run the finish path. However, all my code for lathe is handwritten. I hand write threading cycles, grooving cycles, etc. The whole point for the cam is to get my tool comp
 
When I first learned how to machine, it was on a NC 2 axis mill. G and M codes. Learned how to simple program that way. Z axis was manual but had a readout. Next machine was a 3 axis bed mill with an Anilam control. Then 10 years later another 3 axis machine with tool changer and a Seimens control. I used the formats that the machines offered rather than G codes. I walked into a shop the other week and was basically belittled for NOT programming everything in G code. Wow
 
Maybe the pace of the course is too slow. How much time are they spending coding basic 2D shapes into G1/G2/G3 toolpaths?

In the real world, it's not about being able to write toolpaths by hand. It's about always knowing what the machine is about to do and spotting problems at a glance. When you're standing in front of a machine, you don't see the CAM data. You see G-code.

Being able to spot a bad retract height at a glance could mean the difference between a 10 second fix and a toasted spindle.

This right here
An operator that I program for is the best, he can read what's about to happen with the code. Several times he's caught moves that simply won't work for the setup. He'll fix it if it's simple or let me know if I need to re-post the cam program.
 
How many can read and do P-code or CIL?
Is G like being able to read a sundial for many now?
Sure I think it essential but I am getting old and wonder if the days are past.
If teaching computer programming is assembly and hex or binary code a must do?
Years ago it was, now not so much. Can do even a 20-30 line lathe program faster in CAM than finger poking.
The times are a changing.
Am 100% in with understanding the instruction set and how it works.

Note from the past when many manual machinist hated cncs , that jump and lack of control at a low level.
Now many say the same about using CAM systems.
Bob
 
In the real world, it's not about being able to write toolpaths by hand. It's about always knowing what the machine is about to do and spotting problems at a glance. When you're standing in front of a machine, you don't see the CAM data. You see G-code.

Being able to spot a bad retract height at a glance could mean the difference between a 10 second fix and a toasted spindle.

Re-quoted a shortened version of what it's all about.
Knowing a bit of G-code does not mean you are now ready for handbanging programs any more than knowing the rules of football makes one an NFL candidate.
Operators: mehh, just know what button to push when the shit hits the fan.
Setup guys: Absolutely! Again, you ain't the programmer, but know when and where will the shit hit the fan ahead of time!
Programmer: Absolutely! They look at where the setup guy is pointing to and figure out WHY will the shit hit the fan!
 
Sometimes I edit lathe programs to tighten up tool change locations or finish pass stuff where one tool is finishing multiple locations and I can't just change the offset.

Almost never on mill programs. We don't do giant runs, so it's not worth the time to save a couple seconds per part. And I don't save .nc files so I want the posted code to be correct without modification.
 
I'm in a shop where everything is done in cam, there is a computer next to each mill for when we need to make changes, and every operator is either proficient in Mastercam or being trained up in it. I'm learning G code myself because it is useful.

99.9% of the time I can do what I want with cam, some parts though the fastest and simplest way to do them is to add in a manually written operation in the middle of the program. Having the mill move a long part to a specific point so it can machine the next section is a good example of that. Also the more gcode I know the more able I am to troubleshoot programs and prevent problems.
 
99.99% CAM, but when you need that 0.01% manual you need it. Trying to make a machine do something it wasn't designed to do, you'd better be able to fingercam. Medical device prototype shop, only had one CNC machine and it was a mill. Needed to turn a batch of parts, so I made a gang tool block to put on the table, and put the stock in the toolholders. Different work offset for each tool, different tool offset for each piece of stock in a toolholder. Worked a treat. Used CAM to rough in the programming, but had to edit the frack out of it.
 
I think learning G-code should absolutely NOT be in a Machining 101 kind of class. I would touch on it for an hour or so in a lecture and basic demonstration, but beyond that? Do not waste their time and yours.

In my experience, the best way to teach folks is to get them making parts, using CAM, as rapidly as is humanly possible. If you can get them in a machining lab for a full day, spend half of it having the class design a program step-by step for a simple part, and the second half setting up a machine and making it. They should walk out of that class with a part they made. From there? Just make parts of increasing complexity along with assemblies of parts.

Where I would really focus, is DFM. Most of our consulting work is with design engineers in the early stages of product concepts looking to minimize costs by designing their parts for CNC production as early as possible. It is shocking how limited most ME's knowledge of machining is. I would hand them 5-6 solid models that would be dumb to machine and have them re-design them with machining in mind. If one of your students *EVER* gets into industry and checks in a solid model where they put 0.5mm fillets on every edge of a machined part? You have 100% failed!
 
In my experience, the best way to teach folks is to get them making parts, using CAM, as rapidly as is humanly possible.

The hell with the consequences!!!



(face-in-palm) ...

That kind of thinking in the programming world is what brought us to the current state of iOS and android-OS!

Them dumb fucking folks you're preaching about are the same retards that can't tell the difference between a 2FL endmill and a broken drill!!!
You want THEM to use CAM?
And pay for their CAM seat license? :nutter:
 
My boy took some week long summer class at the local college back when he was maybe in Jr High at the most.
He came home with something that he programmed in CAD.
He had no clue how that was done.

A few years later and he could code his way out of a paper bag.

Today he makes his living as a computer Programmer, and doesn't doo G code anymore.


I have never used CAM in my life.
I don't doo 3d work [essentially] at all, and the one time that I did - I farmed that code out.
I have had to ask for help from some CAM jockies now and aggin when parts have flowing rads and angles with no listed intersection points.
It doesn't happen often - like prolly not more than 5 times ever. (or less)

I can hand code, and I can doo trig.

I have been dooing code since the time when CAD was a new thing, and we didn't even have a PC for another 10 yrs after that.

If low volume milling is your niche', especially if you doo 3d, then you need CAM as a tool, but we have never done that kind'a work, and thus - I have never seen the need to try to get into it.

I finger 8x lathes and 3+2 mills just fine.

316SS.jpg

316SS.jpg


4SidedMount.937.jpg

(For whatever reason, my pic links aren't working this morning)
BoltCarriers.jpg


PoppetValve.jpg



----------------

Think Snow Eh!
Ox
 
Two Prototrax using the conversational, or import dxf using their offline programming.

Emco Turning Centre live tooling with C axis, programmed on the machine with G code.

Have CadCam, not found the time to learn how to do more than 2D drawings, not learned how to use the cam to produce the code for the machines.
 
I'd say it depends on what sort of parts you mostly make. There's this:

Simple.jpg

And there's this:

Not simple.jpg

The former is (well, could be) <100 lines with all the preambles and comments. The latter is ~2,300 lines (none of it adaptive or 3D surfacing or silly arcs-as-tiny-lines code), and that's only 1 of 5 ops.

One really nice thing about CAM, that has saved me a bunch of times, is you can see what you missed, or where you are taking an extra bite, ahead of time, without running a 12-minute cycle to find every gotcha.

Regards.

Mike
 
Personally, I don't care what my printer firmware driver is sending over the wire, as long as the print comes out right

What if it doesn't come out right? Who you gonna call?

In my limited experience post processors are often not right. It's pretty common to have to tweak the post processor and to do so you need some knowledge of what goes over the wire.

For Engineers there is so much that they learn, or at least it was when I was in school, that never actually gets used directly. But they are supposed to know the innards of stuff so they can figure it out. I think the op's approach is excellent.
 
I can finger-cam pretty well, and do on occasion. For most stuff I use CAM (Inventor CAM).I use a post that I had tweaked by an expert ($500 USD), and will have it tweaked some more once I get around to it, to start to use the Haas M97 subroutine capability (hand-coding that for now). I know what my code should look like, but I never want typo's in the program. Embarrassing and a little dangerous. I wonder, though, whose posts can generate macros. Macros require G-Code knowledge as well as a bit of logic.
 
(face-in-palm) ...

That kind of thinking in the programming world is what brought us to the current state of iOS and android-OS!

Them dumb fucking folks you're preaching about are the same retards that can't tell the difference between a 2FL endmill and a broken drill!!!
You want THEM to use CAM?
And pay for their CAM seat license? :nutter:

I think you're confused here - I want these folks in machine technology associates degree programs to CAM up parts from solid models, then go set up the machine and actually make them. The difference between the best machinists I know and the mediocre ones such as myself is that the best folks have thousands of parts under their belt. They've seen a shitload of features, and had to figure out how to machine them. They learn through experience and osmosis.

I say if you're going to teach people how to machine, how about you use the same process that will use for the rest of their time in the industry? Over a 2 year program? You should have programmed/milled well over 100 unique parts of increasing complexity.

Along the way, these people will pick up G-code the same way I did, or most of the kids who picked up machining of of YouTube eventually do. Eventually - some part is going to require some macro programming, or you'll need to tweak a post, or you'll want to speed your setups. You'll learn plenty of G-code along the way.

Do I think a machining education program should teach some G-code? Absolutely. You'll need the very basics for MDI use in setups. Near the end though, they should take a few days to go over G-code, and perhaps even hand code a simple program (which will be way easier at that point, since they'll probably have picked up a lot of concepts). Primarily, they should focus on macro programming (HUGELY valuable) and Post Modification (massively valuable).

But this thing where they take a quarter to fiddle fart around like old codgers, and take a full 2 weeks to make some complex part by hand so they can feel good? A complete fucking waste of student's valuable time and money. When they hit industry, absolutely nobody is going to ask them to do that.
 
When I was at Dunwoody in the mid 90's, we fingercammed a punch and die on the WEDM. Then the next project we dove into Mastercam and made plastic injection molds. I think that was just about perfect.
 








 
Back
Top