- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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 ![]()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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??
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Yeah, that's what it needed, thank you so much for chiming in!
Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi guys, nice going but no beer yet ![]()
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 ![]()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
That's because I took a shortcut when I shouldn't have ![]()
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Sorry guys, I thought I had this but can't get it working now ![]()
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 ![]()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
"It's not elegant, but it does work"
@LibertyMachine. You're wrong... That's very elegant. ![]()
Good Job.

Mike Mattera
Fusion Content Experience Designer - CAM
Getting Started In Fusion CAM | Introduction To 2D Machining | Interface Fundamentals | Keyboard Shortcuts
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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 ??
Fusion