Using a keyhole tool

When I looked at the CC file, I see the ball nose in the slot from the top to the bottom.
Where does the Keyhole cutter stay at the bottom of the pocket and follow the slot both ways?

Could this be done using manual control?

Thx, about to try to use that keyhole cutter to make an undercut along the side of a slot, I am so glad that there is CAM preview…

1 Like

The toolpath for the ball-nose (which is used for the keyhole tool) is set to go to full depth because of the setting of the depth per pass for that toolpath to greater than the depth of the pocket.

DISCLAIMER: I AM JUST STARTING TO LOOK AT GCODE AND EDITING THEM MYSELF IN NOTEPAD SO THIS IS UNTESTED AND MAYBE SOMEONE WITH GCODE-FU CAN TAKE A LOOK AND COMMENT/MODIFY AS NEEDED.

I looked at the GCode in NC Viewer only and it appears to do what I expected it to do. Please do your due diligence and look at it yourself in something like NC Viewer and/or aircut if you are going to use this as a starting point.

  1. Make sure the keyhole bit is higher than the work piece and X,Y,Z has been zero’ed at the top of the stock where you want the keyhole bit to enter the stock
  2. The bit will do a pecking operation in the Z direction descending in 3mm increments (0, 3, 6, 9, 10) until it gets down to 10mm. Depending on the bit and how deep you want the keyhole to descend into the stock this would need to be edited
  3. Once the Z axis has pecked to its full depth it will then move in the Y direction. The slot will be cut towards the front of the table and like the Z axis movement the bit will do a pecking like motion until it reaches the full length of the slot. In this example its 15mm
  4. The bit will then return to X=0, Y=0 and then proceed with pulling back out of the stock by 15mm and as the Z axis pecking operation went down 10mm this means at the end of the operation the keyhole bit will be 5mm above the stock.

(EDIT: SOME EDITS MADE BASED ON @neilferreri COMMENTS BELOW


(KEYHOLE GCODE WITH A PLUNGE OPERATION, Z DEPTH = 10mm AND SLOT LENGTH Y = 15mm)

G90			(G90 so these are absolute values meaning all X,Y,Z values are in reference to you absolute Zero (X=0, Y=0, Z=0 location)
G21			(Metric so measurements are in mm)
G0 Z5.000		(Move Z to 5mm above Z-Zero - should be high enough to clear clamps to be safe)
G0 X0.000 Y0.000	(Move to X=0 and Y=0 if not already there, this is the location that the keyhole bit will enter the stock)
G1 Z-3.000 F200.0	(Start Plunge/Pecking operation, if you want to adjust the plunge/feedrate change the number after 'F' in mm/minute)
Z-0.000			(Remove this line if you do not want to do the pecking operation in the Z direction)
Z-6.000			(Remove this line if you do not want to do the pecking operation in the Z direction)
Z-0.000			(Remove this line if you do not want to do the pecking operation in the Z direction)
Z-9.000			(Remove this line if you do not want to do the pecking operation in the Z direction)
Z-0.000			(Remove this line if you do not want to do the pecking operation in the Z direction)
Z-10.000		(End of Plunge/Pecking operation in the Z axis and change this Z value to the final depth you want the keyhole bit end up at in mm)
Y3.000			(From bottom of pocket currently -10mm start plunge/pecking in the Y direction in increments of 3mm Y=0,3,6,9,12,15)
Y0.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y6.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y0.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y9.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y0.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y12.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y0.000			(Remove this line if you do not want to do the pecking operation in the Y direction)
Y15.000			(End of pecking operation in the Y axis and chang this Y value to the final length you want your slot in mm)
Y0.000			(End of slot cutting in the Y direction and returning to X=0, Y=0)
Z5.000			(Retract from the pocket in the Z direction from where the keyhole bit first entered into the stock to Z=5mm)
M02

This is meant as just a starting point, maybe someone that is well versed in GCODE can take a look at it and suggest changes to clean it up as needed.

(EDIT: I’m not 100% sure this would be run in mm and not in inches but like I said I’m just starting to look at GCode so help needed to confirm that part)

(EDIT: Also in addition to confirming this would run in mm’s you would also need to edit the plunge/feed rates to make sure this is correct for your tools. In this example it’s the F200.0 meaning 200mm/m I think…)

3 Likes

If we have a small GCode file to do the keyhole operation is this something that we can use in Carbide Motion as a macro/quick action and have it saved in a library of operations so it’s permanently there ready to run?

Some comments below. (in parentheses)
I’ve done similar with KeyHoles, but I used G91 mode, so I could just jog to the location I wanted the slot and run the code from there.

G90
G21
G0 X0.000 Y0.000
G0 Z0.0 F200.0 (G0 is a rapid move, feedrate not needed.  I wouldn't rapid to Z0 anyway)
G1 Z-3.000 F200.0
G1 Z-0.000 F200.0
G1 Z-6.000 F200.0
G1 Z-0.000 F200.0
G1 Z-9.000 F200.0
G1 Z-0.000 F200.0
G1 Z-10.000 F200.0
G1 X0.000 Y3.000 F200.0 (G1, X0, & F200 are redundant, but doesn't affect anything really)
G1 X0.000 Y0.000 F200.0	(Feed seems really slow?)
G1 X0.000 Y6.000 F200.0
G1 X0.000 Y0.000 F200.0
G1 X0.000 Y9.000 F200.0
G1 X0.000 Y0.000 F200.0
G1 X0.000 Y12.000 F200.0
G1 X0.000 Y0.000 F200.0
G1 X0.000 Y15.000 F200.0
G21 (not needed)
G90	(not needed)
G0 X0.000 Y0.000 (You're 15mm up the keyole.  I wouldn't rapid move here)
G1 Z15.000 F200.0 (This a retract to Z15, you mentioned you wanted to move to Z5)
M02

It will run in mm mode as you set the G21 and never changed that.

1 Like

@neilferreri agree the feedrate of 200mm/m may be too slow and perhaps discolor/heat/burn their stock but in the event that someone just copy/paste into an .nc file and runs it I’d rather the feedrate be on the low side for their tool then something bad happen. Up to whoever decides to try it out to adjust the feedrate to what works best for them in their specific situation (material, tool, machine, …).

Thanks for your review/comments, I edited the GCODE above taking your comments into consideration. As for the redundant feedrates do I just need the one on the first G1 line and the rest are redundant?

1 Like

Yup. A G1 sets the movement to a linear move at the defined federate. That mode persists until it is explicitly changed to a G0 (rapid linear) or G2/G3 (arc) or on reset of the controller.
Feedrate only needs to be defined when you initially set it and when you change it.

1 Like

I must be getting too old for this. I just don’t have the patients to go through G-Code line by line making adjustments. :woozy_face:

I found a G-Code file for a Keyhole bit by Chris Arriaga on another site.
keyhole_2_inches_up.nc (260 Bytes)

This seems more of a straight-forward method.
I have another file, but I do not know who it was created by, but it does pecking to depth and pecking again for the slot. This seems more effective to me, but I do not want any licensing issues, so I won’t upload it.

To answer your question, yes it’s possible. I use it all the time. It’s especially handy when you have a lot of the same parts to do. this is the youtube video i found that explains how to do it using CC

1 Like

Yes, this makes more sense now.
Let me ask you this, Is it possible to create the same path with a pecking movement or motion? I want to have a longer stroke after the plunge.

Thank you for the video. I am very visual and can see it now.

I’m not sure I usually just put a very slow plunge rate. I guess you could create a point and do a drill cycle before. But I don’t think you can do both in the same tool paths.
Here is a little setup I did a while back

I am going to try and do a poly line going in a pecking motion to see how this works.
Gonna have to play with it but I think it will work.
Check it out…
Keyhole Carbide Create - test.nc (435 Bytes)
Keyhole Carbide Create - Test.c2d (11.4 KB)

1 Like

That looks great. I added a 1/4" hole at the end of your line and did a peck drill before the line segment. 1st time using that function, so I took it slow and easy.
Keyhole Carbide Create - Test with peck drilling.c2d (16.4 KB)

1 Like

I like your addition.
I tried to fine tune the pecking for the Slot and find CC does not save to Gcode the whole Poly line I created. I even tried offsetting the nodes to make sure the software did not misread the created line, but it still only does three pecks in the simulation software and cuts the rest as one cut and pulls out the way it is supposed to.

Confused.

Yes very confusing. I don’t think you’ll be able to create it as one tool path sequence.

I’m looking at editing the Gcode manually as a fix.
We’ll see?

If you give me the depth (z-axis) you want it to drop and also the length of the slot (Y-axis or X-axis) I can edit the gcode file and you can look at it in nc viewer to confirm it’s what you want and then an aircut on the CNC to confirm it’s good to go.

1 Like

Thanks for the offer but I figured out how to complete it in CC.
Keyhole Carbide Create - Test.c2d (17.3 KB)
Keyhole Carbide Create - test.nc (787 Bytes)
Woohoo!
I am feeling pretty smart right now.
The key is to start the polyline at the starting point. Make it the length you need, then trace back but not moving completely back to the first node, but just shy of it snapping to that location.
Move to the next cut and repeat to the full length you want. Move back to the starting node and it will automatically complete the line and voile.

5 Likes