Hi All,
I have only recently come to the world of CNC programming and Mach, but I do have quite a bit of experience of real time systems programming, in Linux and Unix mainly.
I hate Visual Basic (and everything Microsoft) and Cypress VBS is a cut down version of a cut down version, but at least there is a usable macro programming language available for Mach 3
I have put aside my prejudices to write macros to give the functionality which is missing currently from Mach Turn, in relation to canned cycles for roughing profiles in terms of X depth (M71) and facing profiles in terms of Z depth (M72)
With these macros there is no need for a M70 finishing macro, as you program the finished tool path in the M71/M72 loop section of the code and once the roughing is complete, that tool path is cut in finishing mode
There is a limit of 100 lines of GCode in the M71/M72 loop at present.
The reasons for this are explored in notes in the M71 macro, but basically Cypress VBS does not handle multi-dimensional arrays of data well and I could not be bothered to spend hours studying documentation for Visual Basic to try and find a workaround which would enable me to set the array size dynamically as I would do in C or C++.
However if your finished tool path is so complex that it cannot be described in 100 lines of GCode, its a pretty special part.
The M71 and M72 macros are zipped up with example GCODE and a README file
Please READ the README! If you follow the required syntax and methodology, they will work, if you do not they may well not work.
They are posted on my webspace at
M71 macro filesand
M72 macro filesPlease test them and give me feedback.
I have used this for real, cutting the ball ends in the 3rd test program for the M71 macro, into 28mm stainless bar and produced 4 perfectly matched parts.
I cannot give individual explanations or dissect your particular GCode, but will attempt to reply to responses as time allows.
Enjoy
Melee