I am a noobie... that said I wrote the following program and it does exactly what I intended:
G21 (sets the file units to millimeters. )
#1 = 38 (Rough Diameter of Post)
#2 = 12.7 (Cutter diameter)
#3 = -5 (Z depth increment value )
#4 = [#1 + #2] (Diameter of POST to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of POST to mill )
#8 = 100 (travel speed )
(rough cut the post)
G90
G0 X[#5 * -1] Y0 Z5 F#8
#6 = 1 (tool depth counter)
#7 = 0 (actual Z depth variable )
M98 P100 L4
(finish cut the post)
#1 = 35.50 (Finish Diameter of Post)
#4 = [#1 + #2] (Diameter of POST to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of POST to mill )
G1 X[#5 * -1] Y0
G17 G3 x[#5 * -1] y0 i#5 j0 (select the XY plane and do arc counter clockwise )
(cut relief for tube seam weld)
G0 Z5
G0 X#5 Y0
G0 Z#7
G1 X [#5 - 1]
(cut the hole---lighten the finished piece)
#1 = 25 (Diameter of Hole)
#4 = [#1 - #2] (Corrected Diameter of HOLE to mill... hole diameter - tool diameter )
#5 = [#4 / 2] (Radius of HOLE to mill )
G0 Z5 (clear the Z axis from the work surface)
G0 X[#5 * -1] Y0 Z5 F#8
#6 = 1 (tool depth counter)
#7 = 0 (actual Z depth variable )
M98 P110 L4
M30
O100 (mill a POST)
#6 = [#6 + 1] (increment counter)
#7 = [#3 * #6] (adjust tool depth for this count)
G1 Z#7 (set tool depth)
G17 G3 x[#5 * -1] y0 i#5 j0 (select the XY plane and do arc counter clockwise )
M99 (return from subroutine)
O110 (mill a HOLE)
#6 = [#6 + 1] (increment counter)
#7 = [#3 * #6] (adjust tool depth for this count)
G1 Z#7 (set tool depth)
G17 G2 x[#5 * -1] y0 i#5 j0 (select the XY plane and do arc clockwise )
M99 (return from subroutine)
Then I wrote the following and it did exactly what I expected:
G21 (sets the file units to millimeters. )
#1 = 38 (Diameter of large arc)
#2 = 12.7 (Cutter diameter)
#3 = -5 (Z depth increment value )
#4 = [#1 + #2] (Diameter of POST to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of POST to mill )
#8 = 100 (travel speed )
#9 = 11.4 (diameter of small arc)
G90
G0 X0 Y#5 Z5 F#8
#6 = 1 (tool depth counter)
#7 = 0 (actual Z depth variable )
M98 P100 L4
M30
O100 (mill a POST)
#6 = [#6 + 1] (increment counter)
#7 = [#3 * #6] (adjust tool depth for this count)
#4 = [#1 + #2] (Diameter of large arc to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of large arc )
G1 Z#7 (move the tool to starting depth)
G17 G3 X0 Y[#5 * -1] i0 j[#5 * -1] (select the XY plane and do large arc counter clockwise )
#4 = [#9 + #2] (Diameter of small arc to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of small arc )
G1 X25.45 Y[#5 * -1] (cut to starting point of small arc)
G17 G3 X25.45 Y#5 i0 j#5 (select the XY plane and do small arc counter clockwise )
#4 = [#1 + #2] (Diameter of large arc to mill... post diameter + tool diameter )
#5 = [#4 / 2] (Radius of large arc )
G1 X0 Y#5 (cut to starting point of large arc)
M99 (return from subroutine)
Now comes the problem:
I want the second program to create the large arc and the small arc such that they end on a line that is tangent to both arcs. That way I have a smooth transition from the large arc to the small arc. I have wrote many test programs trying to understand the G3 command but try as I might... I can only seem to get it to do a half circle instead of the "little more" that I need
can anyone help me? If you consider that the center point of the large arc is 0,0 I know where I want to start milling the arc and I know where I want to stop milling the arc. From there I want to mill a "straight line" to the tangent of the small arc, mill the small arc, and mill a "straight line" back to my starting point.
thanks in advance
cj