Cnc Course in hobby machinist

Don't think for a second that nobody is following this. You can't see it, but the logs show 134 different members have viewed the thread. I'm also watching. I have no NC/CNC in my shop, nor any real plans for it, but I have spent many years around them. So I have a passing interest in your information, and I appreciate your taking the time to share it in a simple, straightforward way.
 
I'm starting to understand the conventions in G-code (I think). I take it that, once you've gone to polar and set the centre, X becomes radius and Y becomes angle. Radius stays constant until it gets re-defined.

One question, though. What defines the 0.0 angle? Is it at 3 o'clock? 9 o'clock? 12 o'clock?

Thanks for all the good information.
 
Keep going! This is very useful stuff. :) Thanks for taking the time to do this!
 
I'm starting to understand the conventions in G-code (I think). I take it that, once you've gone to polar and set the centre, X becomes radius and Y becomes angle. Radius stays constant until it gets re-defined.

One question, though. What defines the 0.0 angle? Is it at 3 o'clock? 9 o'clock? 12 o'clock?

Thanks for all the good information.
Just like that, Y0.0, in the example we din not drill at 0 degrees. If your question is where does it starts, by convention, 0 deg is 3 oclock. Plus 90 deg is 12 oclock.
 
Something I noticed about the topic before last (polar co-ords). I didn't recognize G15/G16, which is because my controller (LinuxCNC) doesn't support them (they use a different notation for doing polar co-ords). Just thought I would mention that so it doesn't catch anyone using LinuxCNC off guard.
 
Well, now that my work seems to be helping a few, I will keep going. Next theme is calling subprograms, then you can have a list of programs with standardized forms, and call each one when needed, making programming fast and easy.
 
Something I noticed about the topic before last (polar co-ords). I didn't recognize G15/G16, which is because my controller (LinuxCNC) doesn't support them (they use a different notation for doing polar co-ords). Just thought I would mention that so it doesn't catch anyone using LinuxCNC off guard.
Sorry, I have no knowledge of LinuxCNC. But I will try to find out about it. International EIA-ISO standard G code is most common for CNC, and I only know heidenhain and fanuc controls.
 
If you are not using it, it's probably not worth learning (LinuxCNC that is). I mention it because I know others use it (it is the software the Sherline CNC machines ship with). I think it has supported all the other codes you have used to this point.
 
If you are not using it, it's probably not worth learning (LinuxCNC that is). I mention it because I know others use it (it is the software the Sherline CNC machines ship with). I think it has supported all the other codes you have used to this point.
Here is how to write polar coordinates to move on linuxcnc
100 G1 @.5 ^90
G91 ^90
^90
^90
^90
G90 G0 X0 Y0 M2
 
Calling Subprograms

Being able to call subprograms is a useful tool, because it helps speedup the writing of programs, Sort of drag and drop feature, let`s you assemble programs with existing programs and standardize. How it can help us? Well, imagine you need a program to make a part that has a profile and holes that will be tapped. From our previous examples, you recorded the following programs: Heading, drilling and tapping. So you just open the heading program, save it with different number (the part number is wise) and call subprogram drilling, then call subprogram tapping. Then you go to the subprograms and only edit the X and Y, the depth and cutting parameters, same for tapping. This assures fewer mistakes, forgotten codes and let`s you call different programs as needed.

Let`s see how ist`s done.

We call our heading program, I will use real numbers instead of the #.

O2959
%
G15 G17 G40 G49 G80;
G20 G54;
G91 G28 X0.0 Y0.0 Z0.0;
M06 T1;
M03 S1500;
G90 G00 X0.0 Y0.0;
G43 Z10.0 H1;
G00 Z0.5 M08;

G99 G82 R0.3 Z-0.5 P200 F3.6 L0; (Here we call a drilling cycle with dwell, the L is used to specify how many times we need to repeat the cycle)
M98 P3545; (Here we call program O3545, in our case let`s think it`s the cartesian array of holes we did, I will write it at the bottom only for reference, you do not need to write it, it should be in the memory of the CNC)

G01 Z0.5;
G04 X10.;
G00 Z10. G40 G49 M09;
G91 G28 Z0.0 M05;
G28 Y0.0;
M01;
M30;
%


Subprogram O3545
%
O3545
X5.8 Y2.3;
X8.0;
Y8.0;
X3.4;
X1.2 Y6.0;
G80 M09; (Drilling Cycle Cancel)
M99; (Subprogram Cancel )
%


With this tool, You can just edit where the holes are, and forget about all other things.:whistle:
 
Back
Top