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