Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Deep drilling ignores retract feed rate??

mailZWX5Y
Enthusiast

Deep drilling ignores retract feed rate??

mailZWX5Y
Enthusiast
Enthusiast

I'm wanting to use a drill op to run my auto-reverse tapping head, the code seems to make sense, it needs a dwell before retract to allow the clutch to disengage before reversing, it also needs to reverse at a slightly faster rate. Using a 6mm tap with 1mm pitch for example i have set a speed of 500rpm, a feed of 500mm/min and a depth of 5mm, so it seems it will thread in ok and then do the dwell, but then it retracts at G0 rapid and not the retract rate i have set of 550mm/min, this will snap the tap off on the way out.

 

Is there a reason the "Deep Drilling, Full Retract" cycle ignores the retract feed rate??

 

Can it be fixed?

 

The first block is the actual code and the second i have edited to be what i wanted to see..

 

(DRILL2)
M5
M9
T10 M6
S500 M3
G54
M7
G0 X0. Y0.
G43 Z31. H10
Z6.
Z2.
G1 Z-5. F500.
G4 P4.
G0 Z6.
Z31.
(DRILL2)
M5
M9
T10 M6
S500 M3
G54
M7
G0 X0. Y0.
G43 Z31. H10
Z6.
Z2.
G1 Z-5. F500.
G4 P4.
G1 Z6. F550.
Z31.
0 Likes
Reply
Accepted solutions (1)
1,361 Views
16 Replies
Replies (16)

LibertyMachine
Mentor
Mentor

Different controls and posts handle this area differently. Which of each are you using?


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes

mailZWX5Y
Enthusiast
Enthusiast

Hi,

 

the post is the plain Mach3mill post that was recently edited to remove the G28 at the end.

 

I have a Bridgeport with Mach3 running CSMIO controller but it hasn't got that far yet :slightly_smiling_face:

0 Likes

Anonymous
Not applicable

Try "Reaming, feed out" instead?

 

David

0 Likes

mailZWX5Y
Enthusiast
Enthusiast

Just tried it - it does not have the dwell before retract?

 

I need a dwell to allow the clutch in the tapping head to disengage.

0 Likes

mailZWX5Y
Enthusiast
Enthusiast

This might do it...

 

Boring, dwell and feed out.

 

Produces this...

 

(DRILL2)
M5
M9
T10 M6
S500 M3
G54
M7
G0 X0. Y0.
G43 Z31. H10
Z6.
G98 G89 X0. Y0. Z-5. R2. P4. F500.
G80
Z31.

Just need to read up on the different parameters.

0 Likes

LibertyMachine
Mentor
Mentor

So I found your post that was modified the other day and I made a modification to it.

It now has code that will give you a G1 in at a feedrate, Dwell for half a second, G1 feedrate out at a factor of 1.1. This would give you the difference you are looking for.

You will be selecting the TAPPING Cycle, and giving it a spindle speed. The dwell and retract feedrate calculation are hardcoded into the post.

 

It's not elegant, but it does work


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes

mailZWX5Y
Enthusiast
Enthusiast

Thanks for that, really nice.

 

This might be my error but i added another hole so two to thread now and it only threads one?

 

(DRILL2)
M5
M9
T1 M6
S500 M3
G54
M7
G0 X0. Y0.
G43 Z29. H1
Z9.
Z6.
G1 Z-5. F500.
G4 P0.5
Z6.75 F550.
X20.
G80
G0 Z29.

Where it moves X20. I would expect another thread cycle??

 

I have only run it in Mach simulation so it may be my fault but usually does what it should??

0 Likes

LibertyMachine
Mentor
Mentor

Hmm. I've made an error. You are right, it should output the cycle again. I will have to dig into it and do some reading

@HughesTooling any thoughts on outputting expanded cycles on more than one hole? The info I'm finding doesn't make any mention of it not being posted...


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes

HughesTooling
Consultant
Consultant

Changing the first line in onCyclePoint to this seems to work,

 

  if ((isFirstCyclePoint()) || (cycleType == "tapping")) {

Post attached.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


1 Like

LibertyMachine
Mentor
Mentor

Yeah, that's what it needed, thank you so much for chiming in!


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes

mailZWX5Y
Enthusiast
Enthusiast

Hi guys, nice going but no beer yet :slightly_smiling_face:

 

It seems that now the dwell is fixed at 0.5s ??

 

Before it was reading the dwell in Fusion and using that, 0.5s will not work here I'm afraid :slightly_smiling_face:

0 Likes

LibertyMachine
Mentor
Mentor
Accepted solution

That's because I took a shortcut when I shouldn't have :disappointed_face:

Open up your post and search for this line:

 

case "tapping":

 the code currently looks like this:

case "tapping":
		if (tool.type === TOOL_TAP_RIGHT_HAND) {
		//writeln(" (Tap: " + formatComment(tool.description) + ")");
		writeBlock(gMotionModal.format(0), zOutput.format(cycle.retract));
		writeBlock(gMotionModal.format(1), zOutput.format(z), feedOutput.format(F));
                onDwell(.5);
		writeBlock(gMotionModal.format(1), zOutput.format(cycle.retract + 0.75), feedOutput.format(cycle.feedrate * 1.1));

You want to change it to read this:

 

case "tapping":
if (tool.type === TOOL_TAP_RIGHT_HAND) {
//writeln(" (Tap: " + formatComment(tool.description) + ")");
writeBlock(gMotionModal.format(0), zOutput.format(cycle.retract));
writeBlock(gMotionModal.format(1), zOutput.format(z), feedOutput.format(F));
writeBlock(gFormat.format(4), "P" + secFormat.format(P));   THIS LINE HAS BEEN CHANGED
writeBlock(gMotionModal.format(1), zOutput.format(cycle.retract + 0.75), feedOutput.format(cycle.feedrate * 1.1));

Sorry about that, it was a shortcut and I shouldn't have taken it


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
3 Likes

mailZWX5Y
Enthusiast
Enthusiast

Excellent, thats got it going:)

 

Many thanks

0 Likes

mailZWX5Y
Enthusiast
Enthusiast

Sorry guys, I thought I had this but can't get it working now :disappointed_face:

 

I made notes when it was going, but i cant seem to get it right now. I have selected a drill tool because if i select a tap tool I lose the ability to set feed and retract rates so I guess I am right there?

 

I then selected the Tapping operation and gave it a dwell period as before.

 

Post-process just give this output...

(1)
(T99  D=6. CR=0. TAPER=118DEG - ZMIN=-16. - DRILL)
G90 G94 G91.1 G40 G49 G17
G21
G28 G91 Z0.
G90

(TAPPING FRONT)
M5
M9
T99 M6
S500 M3
G54
M7
G0 X-166.5 Y-141.5
G43 Z27. H99
Z7.
G80
Z27.

M9
G28 G91 Z0.
M30

Seems to be a chunk missing - it does a G80 but has not set any motion mode to cancel??

 

Just about to run a job as well :disappointed_face:

0 Likes

mike.mattera
Alumni
Alumni

"It's not elegant, but it does work"

 

@LibertyMachine. You're wrong... That's very elegant. :slightly_smiling_face:

Good Job.

0 Likes

mailZWX5Y
Enthusiast
Enthusiast

I think i found it - I have to select a Tap Tool for it to work and it seems to calculate the feed/retract rates automatically??

 

I thought I had control over those figures but it seems not.

 

Anyone know what they are based upon?

 

I can only guess at RPM & Pitch with a multiplier for retract ??

0 Likes