Subroutines for milling?

16 Apr 2011 20:09 #8987 by cwmk577
I've started experimenting with John's subroutines on my lathe and they are wonderful. I am wondering if anything similar has been done for common milling operations. Specifically, these are what I'd really like to see:

- Circular pocketing
- Rectangular pocketing
- Circular profiling
- Rectangular profiling
- Surfacing/face milling
- (maybe, for extra credit) Helical drilling, i.e., drilling a hole with an endmill using 3-axis helical interpolation

Specific features I'd like to see, common to all:

- Safe Z height: safe height for rapid/positioning moves etc.
- Stock surface Z height: (maybe assume 0, but this could complicate some cases for some people)
- Support for intelligent finishing strategies (possibly including use of separate rough and finish tools)

I've found a few things out there on various personal sites and they're OK but I've found most of them to have peculiarities that seem proprietary to how that person likes to work, which is of course part of the fun. I'm just wondering if there's any work out there already in doing some more standard subroutines for general use...

Please Log in or Create an account to join the conversation.

16 Apr 2011 21:01 - 16 Apr 2011 21:05 #8988 by BigJohnT
I don't know of any more but I'm sure there are some. It's a pretty easy process to arrive at a subroutine that fits your needs.

You can do it first in long g code then develop the loops then add the variables and lastly add the part needed by ngcgui.

There are some good subroutines included with EMC that could be used by simply adding the ngcgui part at the top.

For ngcgui you need to wrap the subroutine with sub endsub with the same name as the file. The first comment can contain information about the subroutine and it shows up when you select that tab. The next thing needed is the variable list. So pretty easy to do.

For Example a subroutine named mysub.ngc might look like this
(info: mill plasma coupling pockets in space modulators)
o<mysub> sub
#<width> =  #1 (= 10 Width of Pocket)
#<length>  = #2 (= 20 Length of Pocket)
;looping routine to mill pocket
o<mysub> endsub

And be sure to share what you develop...

I'm pretty sure each and every subroutine will be specific to the type of machine and the operation so not really any way to have"standard subroutines" other than general looping and stuff like that just to show how O codes work.

Last edit: 16 Apr 2011 21:05 by BigJohnT.

Please Log in or Create an account to join the conversation.

17 Apr 2011 15:03 #9001 by BigJohnT
Have you looked at all the sample subroutines that are included with ngcgui?


Please Log in or Create an account to join the conversation.

Time to create page: 0.094 seconds
Powered by Kunena Forum