Rotary plasma post processor


I get a error message in the post processor box telling me to specify the diameter, so i don’t know where to enter it. I have entered it under options/rotary plasma.( not sure what processor to use.) If someone can tell me what I have to do in mach 3 as well for rotary cutting. I got it set up for sheet cutting at this stage and working fine.

Any help would be appreciated.


Rudi Thomas.

Sorry for the delay in replying. You need to select a suitable post processor. If you are using Mach3 the ‘PlasmRotary Mach3’ post should work.

Thanx for the reply, the post seems to work but in mach3 the drawing is scrambled.

Mach3 does not display the rotary axis correctly so the drawing will look strange in Mach. It should cut correctly.

Hi Les.

When I run the process in mach 3 it runs and then stop at a circle and shows ( Radius to end of arc differs from radius to start )

I’m running plasmarotary Mach3 post processor.

In Mach3 go to Config->general config. Is the I,J mode set to incremental? If it is set to absolute you can get this error.

Hi Les.

Yes inc is selected by I,J.

I’ve att a screenshot of the config window.

This query I can sort of answer from my own experiance with this annoyance.

Basically the post processor uses modal g-codes, the fix is to change he linear G0, G1, G2 and G3 sections within the post processor and change the commands from ModalText() to Text()

The problem seems to occur when lets say the tool is at X0, Y10, and it moves to G0 X0 Y20, but the gcode says G0 Y20 (as the post processor is modal)

then you run touchoff or if the move was G1 motion, say you turn the THC off, then you run a G02 / G03, and Mach tends to forget that the tool was at X0 Y20, and does a wobbly by saying that end radius differs from start…

Hence if you change the ModalText() to Text(), the post processor spits out every command in full and the problem does not occur (not tried it with UCCNC and the old way).

… I must admit that I’ve changed my post processor quite a bit hence suspected that I may have created the problem myself with feedrate changes for circles smaller than a certain diameter, and turning the THC off if the the circles are smaller than a particular size, and also turning the THC off or holding the THC off if the motion distance is less than 0.3 of a second etc etc…

each to their own, if the post processor works for you great, but I wanted to learn about it and also store voltage, and other settings within the tool file which I send directly to the THC from within the gcode (similar to what CandCNC do with their post processor, just from someone else.

Also note… there is an error in a few post processors that you want to keep an eye on… I think from memory it’s under the tool change section of the post processor where it calls the tool height, but actually refers to the Tool (i.e. the tool number) and offsets the Z with the tool number… hence if happen to use tool 20, the tool will shoot up 20mm at tool change and air cut, where as if you change the “tool” to “toolheight” the z does not move up … or it moves to the right setting if you have one (I’ve posted about this before, but seen it in a few post processors now)

… also …

if you think that its really the IJK incremental or absolute setting that is the issue, just edit the post processor and in the initialisation section, add in G91.1 which will make the cnc machine operate in incremental IJK, regardless of the configuration settings at the start of the gcode file.

as can be seen here:

function OnInit()

offX = 0
offY = 0
offZ = 0

   post.SetCommentChars ("()", "[]")  --make sure ( and ) characters do not appear in system text
   post.Text (" (Filename: ", fileName, ")\n")
   post.Text (" (Post processor: ", postName, ")\n")
   post.Text (" (Date: ", date, ")\n")
   if(scale == metric) then
      post.Text (" G21 (Units: Metric)\n") --metric mode
      post.Text (" G20 (Units: Inches)\n") --inch mode
   post.Text (" G53 G90 G91.1 G40\n")
   post.Text (" G92 X0 Y0 Z0\n")
   minArcSize = 0.05 --arcs smaller than this are converted to moves
   firstRef = true
   currentZAxis = " Z"