Rigid Tapping Question

richardsalzman
Collaborator
Collaborator

Rigid Tapping Question

richardsalzman
Collaborator
Collaborator

I setup a test sample to experiment with rigid tapping holes for the 1st time. 

The test sample has a number of holes that I intend to drill and tap using machining wax so I can tweak the mill's rigid tapping parameters to achieve the best possible tapped holes.

 

On the Design side, I modeled the holes to be 1/4 x 20 x 1/2 inch deep.

On the CAM side, I spotted the hole, drilled it .6" deep + the allowance for the "Drill tip through bottom".  My idea was to drill the hole deeper than the modeled hole to allow a place for some chips to drop into.

 

The problem.  When I attempted to program the tapping tool path, I initially entered the tapped hole depth of .5" since the tapped hole was modeled as 1/2" deep.  When I tested this tool path, the tap just came down to the top of the part, reversed direction and finished the routine (It did nothing).  I increased the programmed depth to .6 inches, .7 inches and finally .8 inches.  Nothing changed until I set the depth to .8", then the machine tapped down to a depth of .8 inches and tapped the hole. 

 

I don't understand what is happening.  With all of the programmed depths, the Fusion simulations looked correct, and the depths looked correct on the milling machines graphic display.  But only when I programmed the depth of .8" did the tap go any lower than the top of the part.  I did test the tool lenght offset and all is well.

 

Any thoughts.... Richard

richardsalzman_0-1716524696405.png

 

 

 

 

0 Likes
Reply
Accepted solutions (2)
1,491 Views
14 Replies
Replies (14)

a.laasW8M6T
Mentor
Mentor
Accepted solution

This sounds like a machine/controller issue to me

 

If we post the code out at those increments it correctly goes to those depths in the G84

(Tapping M5)
N30 T12 M6
N35 S689 M3
N40 G17 G90 G94
N45 G54
N50 M7
N55 G0 X1.75 Y-3.
N60 G43 Z0.4 H12
N65 G0 Z0.2
N70 G98 G84 X1.75 Y-3. Z-0.5 R0.1 P3. F34.45
N75 G80
N80 Z0.4
(Tapping M5 4)
N85 G0 X1.75 Y-3.
N90 Z0.4
N95 Z0.2
N100 G84 X1.75 Y-3. Z-0.6 R0.1 P3. F34.45
N105 G80
N110 Z0.4
(Tapping M5 3)
N115 G0 X1.75 Y-3.
N120 Z0.4
N125 Z0.2
N130 G84 X1.75 Y-3. Z-0.7 R0.1 P3. F34.45
N135 G80
N140 Z0.4
(Tapping M5 2)
N145 G0 X1.75 Y-3.
N150 Z0.4
N155 Z0.2
N160 G84 X1.75 Y-3. Z-0.8 R0.1 P3. F34.45
N165 G80
N170 Z0.4
N175 M9

 

I cannot see any reason in the code why it would not work

0 Likes

richardsalzman
Collaborator
Collaborator

Thanks Andrew.  I will post this on the Centroid Forum.  Just wanted to be sure it wasn't a Fusion issue.

 

Best... Richard

0 Likes

richardsalzman
Collaborator
Collaborator

Wow.  This has not gone the way I expected.  I posted this on the Centroid Forum, and this has gotten a bit confusing.  If I am understanding this correctly, it appears that Fusion is outputting an F value, while Centroid is requiring a Q value.  

 

Again, I am very new to g-code but I understand the Q value to be a pecking depth, but the centroid folks are referring to Q as a pitch value.  Here is the post if you think you can help:

 

Rigid Tapping Question - Centroid Community CNC Support Forum (centroidcncforum.com)

 

Thanks as always... Richard

 

 

0 Likes

a.laasW8M6T
Mentor
Mentor

Hi

 

My interpretation of the Centroid manual was that the Q value was optional for rigid tapping, but I may be wrong there,

If you do need to use Q, you will need to modify your post to output the Q value for tapping instead.

 

To do this we will need to create some variables in the formats area at the top of the post

var pitchFormat = createFormat({decimals:(unit == MM ? 3 : 4), forceDecimal:true});
var pitchOutput = createOutputVariable({prefix:"Q", control:CONTROL_FORCE}, pitchFormat);

Then in the tapping section of the post we need to change

Change:

case "tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format((tool.type == TOOL_TAP_LEFT_HAND) ? 74 : 84),
        getCommonCycle(x, y, z, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        feedOutput.format(F)
      );
      break;
    case "left-tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(74),
        getCommonCycle(x, y, z, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        feedOutput.format(F)
      );
      break;
    case "right-tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(84),
        getCommonCycle(x, y, z, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        feedOutput.format(F)
      );

 

 

 

To:

case "tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format((tool.type == TOOL_TAP_LEFT_HAND) ? 74 : 84),
        getCommonCycle(x, y, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        pitchOutput.format(tool.getThreadPitch())
      );
      break;
    case "left-tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(74),
        getCommonCycle(x, y, z, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        pitchOutput.format(tool.getThreadPitch())
      );
      break;
    case "right-tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      writeBlock(
        gRetractModal.format(98), gAbsIncModal.format(90), gCycleModal.format(84),
        getCommonCycle(x, y, z, cycle.retract),
        conditional((P > 0), "P" + secFormat.format(P)),
        pitchOutput.format(tool.getThreadPitch())
      );

 

This outputs:

N70 G98 G84 X25. Y10. Z-16. R4. Q0.8

 

 

Now I'm not 100% sure if having the Q word at the end instead of before the Z like what the manual says will cause an issue, I still don't thing you actually need the Q value for Rigid tapping

see attached

0 Likes

richardsalzman
Collaborator
Collaborator

I happen to agree with you that the manual says you "may" use a Q value.   Either way, I get the basic idea of what you are trying to do but it is a bit over my head.  It looks like you modified the current post and named it "centroid rigid.cps"

 

Am I correct that I should try the code with this post?

 

Richard

 

 

 

0 Likes

a.laasW8M6T
Mentor
Mentor

Hi

yes I would try that one,

 

I posted the steps taken to modify in case you had a post that already had some changes and you wanted to add these to that post.

0 Likes

richardsalzman
Collaborator
Collaborator

You are amazing!  Thanks so much... I will give it a try tonight!

0 Likes

richardsalzman
Collaborator
Collaborator

Andrew... I think you nailed it!  Thank you very much!

I tested a few tapped holes in wax and they look great.  I need to play with it a bit more, but I think there may be an issue when I attempted to tap the hole so that the tap did not go all the way to the bottom.  I know that when I set the tapped depth to match the hole depth... it certainly worked perfect.

 

I had one attempt where I set the tapped depth to be .05 less than the hole depth and it tapped to some depth that was not deep enough.   I assume I can just tap the holes to the full depth and leave well enough alone.  I'm just not sure why this messed up the depth.

 

richardsalzman_0-1716611013530.png

 

 

Again... Thanks so much for all your help.  This makes may day!  I spent lots of time setting up the encoder on this machine to pick up the speed directly from the spindle.

 

Best.... Richard

 

1 Like

richardsalzman
Collaborator
Collaborator

Quick question Andrew.  Just a bit of housekeeping to make sure my notes are accurate.  Am I correct that you download the post processor that I was previously using "Centroid_Mill_MinRev 40783-swissi 005.cps", made the changes and named it "centroid-rigid.cps"?

 

Best... Richard 

0 Likes

richardsalzman
Collaborator
Collaborator

Ok.  I did some further testing and found that the problem I had yesterday when I did not match the hole height with the tapping height, is still a problem.  I setup a different test today with holes that run straight through the part, and that tap came down to the top of the part, did nothing and returned.  I could not make it work no matter what I did.

 

One of the guys on the Centroid Forum was nice enough to paste your code which added the Q value to the most recent version of the post and it still did not work.  Basically, it seems like there is something going on with getting the correct tapping depth.

 

I have included the test file and most recent post with your edits.  If you think this is a quick fix, great.  If this is to  involved, please do not put any further time into it.  I greatly appreciate all that you have done.

 

Best... Richard  

0 Likes

a.laasW8M6T
Mentor
Mentor
Accepted solution

Hi Richard

 

There is nothing I can see in the code that would be causing the problems you have mentioned.

 

I believe there must be some issue with how the tapping/rigid tapping is configured in the controller.

 

To eliminate Fusion as a variable in the diagnostic process I would just write some code to tap a hole at the machine following the examples set out in the manual to see if that makes a difference.

At this point in the process you probably don't even want to be attempting to tap wax until you can determine that the machine will reliably go to the specified depth, just tap air and watch the axis display to confirm.

 

You could possibly try not putting a dwell value in also to start with(I never dwell when rigid tapping, there's no need IMO)

 

0 Likes

richardsalzman
Collaborator
Collaborator

Really strange.  I put a dwell in, and it seems to be working very well at least from a G-code point of view.  I have no idea why.... but it seems to work.

 

I initially tapped into wax and the threads look great.  I then tapped 6061 aluminum, the threads look fine, but the screw does not thread into them properly.   I realized that since I am using simple hand taps, I need to tap deeper into the hole.  I may also need to tweak the rigid tapping parameters.

 

Thanks so much for your help.  I will keep you posted.

 

Richard

0 Likes

richardsalzman
Collaborator
Collaborator

Andrew, 

Just circling let you know that I believe you solved this problem.  Centroid has it's own native conversational programming called Intercon.  I created a small routine using Intercon to tap a hole.  I experienced some of the same odd behavior running the g-code created from Intercon that I had with the g-code posted from Fusion.

 

This means that the problem has nothing to do with the modifications that you generously made to the post processor and most likely something to do with mill's the rigid tapping parameters.  I will work with Centroid to solve this problem.

 

Thanks again for all your time and effort.

 

Best... Richard

 

 

 

 

0 Likes

richardsalzman
Collaborator
Collaborator

Working Perfectly now.  I upgraded to a slightly newer version of the Centroid software and all well.  Thanks for all your patience and help.  The three holes to the right were tapped perfectly!

1 Like