Marlin
Marlin copied to clipboard
Add G81 and G83 drilling cycles
Requirements
This PR aims to add G81 and G83 drilling cycles for better compatibility with many CAM packages.
Description
Since many low cost CNC machines use Marlin as a controller, it makes a lot of sense to properly support common operations which are generated by CAM programs.
Not ready for use, I am opening this PR early for discussion.
Benefits
G81 and G83 drilling cycles are commonly generated by cam programs and drilling is much faster than milling a round hole, when an appropriate sized tool is available.
I have been try this out and it performs as expected in my early testing.
Example command: G81 X10 Y10 Z-5 R2
The function is as follows:
- rapid move to X and Y position
- if R is specified, rapid move Z to specified retract position
- move Z to specified Z depth at G1 feed speed
- rapid move Z to original height or R height if specified
I have not yet made this observe G0/G1 feed speeds.
Rebased, squashed, and augmented. To get this into your working copy, use the Git Console and execute the following commands:
git fetch origin
git checkout add-G81G83
git reset --hard origin/add-G81G83
There is still a lot of work to be done before this will be able to do proper drilling cycles with L repeat, relative mode, and so on. But for a single basic drilling cycle, this sparse implementation should work fine.
this one has also been collecting dust for a while? @thinkyhead
If you want use what I share on:
[FR] Add Drilling canned cycles to Marlin 2.0 #14448
If you need some support say something, I don't finish this but it's working (on old version) isn't modal yet, I didn't had time to spend on to because it's functional I removed the modal of post-processor on my CAM software. After put the 5axis working I'll fix this to work in modal way
I have the drilling cycle's ready to implement but for now like I said before without modal option for now. I add G81(drilling), G82(dwell) and G83(pecking) How can I merge that?
How can I merge that?
Just keep on adding to this PR by pushing new commits, ~~or if this PR is superseded by #14448 then you should close this one and add onto that PR instead~~.
I put in some hours to migrate G81 - G83 updates and M168 into this PR and do a bunch of cleanup. It is clear that the code still needs work, but this is a start towards completion.