One of the first air tests of simultaneous 5 axis motion:
Right series of images & video: one last component to make is the floating Z Head which holds the plasma torch and has a home switch connected to it. This allows the machine to locate the steel it is going to cut and then it can control the height of the torch by reading the voltage of the arc through the torch work and power leads.
This is the first simultaneous 5 axis CAM generator I played with and I must give kudos to Rab Gordon who created it: the CNC Toolkit. Along This is an awesome resource and project and it allowed me to test this machine and then (with some input and review from New Zealander Yves Guavreau who also seems to be a proficient user of the CncToolKit) go on to create a similar set of tools in Grasshopper for Rhino3d.
Right: A screenshot from Gmax with the Toolkit dialog & generated Gcode.
The key was getting into the script and deciphering the concept of using surface normals to generate 3d space points along a path with normal angles translated into you're A & C angles. Adapt this to the Grasshopper component and VB or Pyton scripting components and it can really simplify things especially seeing as how Rhino has been my modeling program for quite some time.
Below: Screen shot from Mach3 the controller for the 5 axis machine while running the CncToolKit generated Gcode.
This video shows an issue in 5 axis CAM programming where, when cutting, the code (or the coder) must be aware of how far the C axis has gone from 0 and that it has only +/- 360deg from 0 that it can go in either direction. So, when cutting in one direction, if the machine must go over an arc & position itself beyond its limit while in a cut of a surface, then it will have to pause, or retract, flip itself around to the opposite end (either + or -360deg) this would have to be programmed as a retract, a rapid positioning move, then a plunge back to machining depth along the normal vector, then continue with feed moves.
The initial 5 axis CAM program I tried (the open source CncToolKit that works with Gmax) needed some tweaking, or rather some detailed CAM programming work in terms of splitting up surfaces so that the normal vectors will not produce a path where the C axis flip is needed in order to solve this issue.
In the video above to the right I ended up (mostly) solving the issue with my later version of 5 axis by creating a series of 5 axis cam components for Grasshopper which is a plug-in for Rhino3d that generate a series of 5 axis toolpaths a little more easily than using Gmax & CncToolKit.