On Sunday 27 January 2019 11:32:34 Jon Elson wrote:

> On 01/26/2019 07:15 PM, Gene Heskett wrote:
> > Why can't I drill a .209" diameter hole with a 4mm (.157")
> > tool?
>
> Well, I do this sort of thing all the time.
>
> Try downloading the first program on this page
> http://pico-systems.com/gcode.html
> or the next to last (make ring).  These should compile on
> any LinuxCNC system with :
>
> cc -o progname progname.c
>
> You will need to edit in a spindle speed command.  Now,
> these do NOT use cutter radius compensation, I don't see the
> point.
>
> But, the radius compensation works on RADIUS, not diameter,
> so there's no problem as long as the cutter radius is less
> than the hole radius.  However, the lead-in and lead-out
> moves are TRICKY! The problem is that you have to make sure
> the inside corner never "pinches" the inside part of the
> curve.  If the tool radius is pretty close to the hole
> radius, then the selection of the lead-in point (and
> lead-out, too) is REALLY tricky.  You probably need to use
> arc lead-ins and lead-outs to solve it inside a small hole.
>
It seems to me for inside holes, where the cutter radii still results in 
an outward movement after going a g0 to the center of the hole, then 
moving outward and to the starting depth ought to be legal. This is one 
of the reasons I have always done my tool rad comps without g41 or g42. 
The lead in and leadout calcs are way too fussy and do not take into 
account they are cutting air.

Here is thatsubroutine as it exists right now, and which works but cuts 
way too big a hole using g42. My cuts in all of this code are climb 
cuts, tool lasts 4x longer cutting dry alu. However eventually there 
will be a low pressure air blast to clear the swarf from being recut, 
but atm do not have the io to start-stop that small air pump salvaged 
from a soldering station that failed. Just one of the reasons for a 
newer interface.

o130 SUB
G40 (turn off comp)
F30 (feed rate)
(arrives here at center of hole, change this to take a passed argument 
for radius)
G0 Z#<_ZUP> ( clear work)
G0 X[#2 - 0.35] Y[#3 - 0.35] (stop move far enough away for G41 blend in 
from where ever it comes from)
G41 D15 X[#1 + #2] y#3 
G0 Z0.01
G3 F#10 I-#1 J-0.000 Z#<_ZDN> P9
F50
G0 Z#<_ZUP> (back to clear)
G40
o130 ENDSUB

And it drills too big a hole. Obviously too big if g42 is used. G3 is 
ccw=climb cut.

The setup and call snippet, one of 14 uses of this subroutine:
( Lets drill the db connector mounting holes first. This drills 2 holes )
( about 4.2mm in diameter, and is intended to clear the connectors )
( mounting nuts so he panel is just sandwiched, not bolted solidly )
( goto left mounting hole of current connector)
#<_tmpy> = #<_dsub_yloc> (is vertical center of dsub pattern)
#<_tmpx> = [#<_dsub_xloc> -#<_STD_3A>] (xloc is horizontal center of dsub 
pattern)

o130 CALL [#<_teeny_hole>] [#<_tmpx>] [#<_tmpy>] [15] <- now reports 
error if o130 call uses a g41.

( go to right mounting hole of current connector )
#<_tmpx> = [#<_dsub_xloc> + #<_STD_3A>]
(Y UNCHANGED )

o130 CALL [#<_teeny_hole>] [#<_tmpx>] [#<_tmpy>] [25]

(MSG,db mounting holes done)

I'll rewrite the subroutine code to do my own g41 and it will work first 
time for any size hole. 

IMO the error check that throws that error is at fault, not my code. 
There is plenty of room to arrive at the proper place to do a climb cut 
around the inside of the hole.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to