Plasma Center Punch

what I’m trying to accomplish here. I’ve retrofitted a Avid control box to an old burntables cnc 2’X4’ table. The next upgrade is to fit a better quality Z axis unit to the table. To that end I’m trying to fabricate an adaptor plate that has 4 holes that the Avid torch holder will bolt to and 4 hole that attach that assembly to the Z axis. In cutting small holes, it’s more accurate to mark or “center punch” all the holes and then to cut out the contour with the plasma torch. With that done, I can accurately drill the holes on my drill press.

This the you tube vid that I was following to attempt to accomplish that.

Plasma Center Punch training video

The problem I’m having is that the Avid Mach 4 post processer doesn’t recognize the drill operation and it’s not in the g code that is generated for Mach. I’m wondering if anyone has a workaround for just marking the holes I want to drill, stopping the operation to turn up the plasma power and then cutting the profile. Thanks in advance.

If I am understanding this request correctly, it is similar to something that I do. One in a while when I need to put in a hold with precision sides in thicker material, I use the plasma cutter to ‘pierce’ the material and then come back later, place the center of an annular cutter from the mag drill into that pierce hole and then cut the hole with the mag drill. The only thing the pierce hole does is locate the mag drill / annular cutter.

If that is what you are looking for, let me know. I’ve got a small bit of Python code that takes in a G-Code snippet with a series of X-Y locations in it representing the holes that one wants to pierce / plasma drill and puts out modified G-Code to make this happen on the AVID CNC. That is something I could share, but from the description, I can’t tell if that is exactly what you are looking for?

-Kenneth

Kenneth,
That sounds interesting. I’m just looking to accurately locate the holes and if this code snippet will do the trick, it’s worth a try. I did get a suggestion from Leire at Avid, about using a different post processor to generate the drilling center punch commands and then insert them after the Avid header. I thought I’d give that a try first, but if you’re willing to pass along your technique, I’d be happy to try and see if I could get it to work for me. Thank you for responding, and I’ll wait your reply.
Andy

Basically, the program will take an input G-Code file that has only the drill points in it, see below: (Mainly it is just looking for the move to X-Y location commands) The following is an example of what it expects for input.

%
O0000
(PROGRAM NAME - DRILL_TEST)
(DATE=DD-MM-YY - 15-07-21 TIME=HH:MM - 16:11)
N100G20
N102G0G17G40G49G80G90
(UNDEFINED TOOL - 1 DIA. OFF. - 21 LEN. - 2 DIA. - .125)
N104T1M6
N106G0G90G53X-1.2209Y-1.4295A0.S2139M3
N108G43H2Z.1
N110G1Z0.F4.11
N112G0Z.1
N114X.6414Y-.8964
N116G1Z0.
N118G0Z.1
N120Y-.3709
N122G1Z0.
N124G0Z.1
N126X-.2009
N128G1Z0.
N130G0Z.1
N132X-.3245Y-.8964
N134G1Z0.
N136G0Z.1
N138M5
N140G91G28Z0.
N142G28X0.Y0.A0.
%

It is going to ignore a lot of the starting pieces and really only look at the G-Code… It dumps out an intermediate file (shown below) that shows what it is / is-not going to interact with…

–insert header
–insert header
–insert header
–insert header
–insert header
–insert initial machine config
–insert initial machine config
–insert initial machine config
(program name - drill_test)
(date=dd-mm-yy - 15-07-21 time=hh:mm - 16:11)
(undefined tool - 1 dia. off. - 21 len. - 2 dia. - .125)
g0x-1.2209y-1.4295f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x.6414y-.8964f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x.6414y-.3709f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x-.2009y-.3709f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x-.3245y-.8964f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
–Insert Stop

And then lastly it will go ahead and produce a processed file that has the commands needed inserted. I use this quite a bit with a legacy CAD system that is not “plasma aware”

( Plasma Drilling )
(Steel 10Ga)
(Consumables: Standard)
(Retract: 4.0 Pierce: 0.15 Delay: 0.4)
(Voltage: 128 Current: 45)
g90
g20
g0z4.0
(program name - drill_test)
(date=dd-mm-yy - 15-07-21 time=hh:mm - 16:11)
(undefined tool - 1 dia. off. - 21 len. - 2 dia. - .125)
g0x-1.2209y-1.4295f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x.6414y-.8964f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x.6414y-.3709f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x-.2009y-.3709f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x-.3245y-.8964f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
m0

Give these 3x G-Code pieces a good comparison to make sure this is what is needed. The program is looking for some specifically formatted input so if the post processor being used isn’t producing an input file that is pretty close to this, then this project is just going to choke on it, or produce erronous output.

Kenneth,
First off thanks for taking the time to respond. I’m not very clear on the process of accomplishing this so as I wrote earlier, I’m going to try the approach that Leire laid out first and see what results come of that. If that doesn’t work, I may come back and ask for some more clarity. Hope you’re having a good weekend and thanks again.
Andy

| da-kengineer-meister AvidCNC owner
December 29 |

  • | - |

Basically, the program will take an input G-Code file that has only the drill points in it, see below: (Mainly it is just looking for the move to X-Y location commands) The following is an example of what it expects for input.

%
O0000
(PROGRAM NAME - DRILL_TEST)
(DATE=DD-MM-YY - 15-07-21 TIME=HH:MM - 16:11)
N100G20
N102G0G17G40G49G80G90
(UNDEFINED TOOL - 1 DIA. OFF. - 21 LEN. - 2 DIA. - .125)
N104T1M6
N106G0G90G53X-1.2209Y-1.4295A0.S2139M3
N108G43H2Z.1
N110G1Z0.F4.11
N112G0Z.1
N114X.6414Y-.8964
N116G1Z0.
N118G0Z.1
N120Y-.3709
N122G1Z0.
N124G0Z.1
N126X-.2009
N128G1Z0.
N130G0Z.1
N132X-.3245Y-.8964
N134G1Z0.
N136G0Z.1
N138M5
N140G91G28Z0.
N142G28X0.Y0.A0.
%

It is going to ignore a lot of the starting pieces and really only look at the G-Code… It dumps out an intermediate file (shown below) that shows what it is / is-not going to interact with…

–insert header
–insert header
–insert header
–insert header
–insert header
–insert initial machine config
–insert initial machine config
–insert initial machine config
(program name - drill_test)
(date=dd-mm-yy - 15-07-21 time=hh:mm - 16:11)
(undefined tool - 1 dia. off. - 21 len. - 2 dia. - .125)
g0x-1.2209y-1.4295f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x.6414y-.8964f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x.6414y-.3709f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x-.2009y-.3709f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
g0x-.3245y-.8964f200 --Drill Locate
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Touch-Off
–insert Drill Opp
–insert Drill Opp
–insert Drill Opp
–insert Drill Shut-Down
–insert Drill Shut-Down
–insert Retract
–Insert Stop

And then lastly it will go ahead and produce a processed file that has the commands needed inserted. I use this quite a bit with a legacy CAD system that is not “plasma aware”

( Plasma Drilling )
(Steel 10Ga)
(Consumables: Standard)
(Retract: 4.0 Pierce: 0.15 Delay: 0.4)
(Voltage: 128 Current: 45)
g90
g20
g0z4.0
(program name - drill_test)
(date=dd-mm-yy - 15-07-21 time=hh:mm - 16:11)
(undefined tool - 1 dia. off. - 21 len. - 2 dia. - .125)
g0x-1.2209y-1.4295f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x.6414y-.8964f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x.6414y-.3709f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x-.2009y-.3709f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
g0x-.3245y-.8964f200
g0.5
g31z-.5f50
g92z0
g0z0.15
m3
g4p0.4
g0z0.155
m5
g4p.3
g0z4.0
m0

Give these 3x G-Code pieces a good comparison to make sure this is what is needed. The program is looking for some specifically formatted input so if the post processor being used isn’t producing an input file that is pretty close to this, then this project is just going to choke on it, or produce erronous output.

So the suggested insertion of "center punch " G code didn’t work. I did the editing in word pad that produced a “rich text”. When I tried loading that code, it added 3 lines ahead of the Avid header and Mach didn’t recognize it. I used the bing AI to see if I could learn why. I came across a post on a cnc forum that said that it wouldn’t recognize the "rich text " and said that it had to be converted to just txt. I tried that. That didn’t work. Another post suggested that I replace the txt to tap. Tried that, didn’t work. Any ideas?

The G-Code I have always worked with has always been just plain old ascii text files. Typically sved with a *.nc file extension. (Older systems I used had *.ngc files as well) but that was only the extension. With Mach-3 I used *.nc file extensions and it all works fine. I’m using Mach-3, not Mach-4, so I am unaware of any special processing / setup lines Mach-4 might need. My best guess would be that it doesn’t need anything special. Probably just come canned generic G-Code to tell it to start out in absolute corrdinates, Select Imperial/Metric, select a work corrdinate system and work offset, set a tool / tool-height and you’d be off to the races, but that’s only my guess…