HI. I'm having trouble with my CNC plasma tabel. I use Mach3 and Sheetcam, both have their licenses installed. I have set the rapid clearance 30 mm on sheetcam and in the post processor i use says that the torch will be referenced out at start of cut and every 50mm of movement thereafter but that never happens. on the G code is a G00 Z30 line after each cut but it gets always ignored and the torch just goes to the next cut with that same height it was cutting and catches on the very warped material i use. . . but when i turn off THC mode on mach3 it executes the line just fine and after each cut it goes 30 mm up and than moves to the next cut but i cant just cut without THC because the material is very warped. I don't know if it has something to do with mach3, sheetcam/post processor or my breakout board!? here are some of my specs and i hope someone can help me

CNC plasma table specs:

Software: Mach3, Sheetcam.

Hardware: Chinese breakout board with USB connection, PriceCNC AVHC10 torch height controll, Z axis with floating head G31 probing

Post processor:

function OnAbout(event)
ctrl = event:GetTextCtrl()

ctrl:AppendText("plasma AVHC10 post processor\n")

ctrl:AppendText("\n")

ctrl:AppendText("Modal G-codes and coordinates\n")

ctrl:AppendText("Comments enclosed with ( and )\n")

ctrl:AppendText("M03/M05 turn the torch on/off\n")

ctrl:AppendText("Incremental IJ\n")

ctrl:AppendText("The torch is referenced at cut start and every 50mm of movement thereafter\n")

ctrl:AppendText("Designed for use with Mach3 and PriceCNC AVHC10\n")

ctrl:AppendText("Post variables:\n")

ctrl:AppendText("refdistance - set the distance between each reference\n")

end







-- revision 3/2/07

-- Removed final safety move. This is now done in SheetCam



-- revision 7/10/05

-- Added new arc handling



-- created 27/10/04

-- Based on plasma1.post







function OnInit()



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

else

post.Text (" G20 (Units: Inches)\n") --inch mode

end

post.Text (" G53 G90 G40\n F1\n S500\n")





switchoffset = 0.93

bigarcs = 1 --stitch arc segments together

minArcSize = 0.05 --arcs smaller than this are converted to moves

end



function OnNewLine()

post.Text ("N")

post.Number (lineNumber, "0000")

lineNumber = lineNumber + 10

end





function OnFinish()

post.Text (" M05 M30\n")

end



function OnRapid()

if(math.hypot(endX-currentX , endY-currentY) < 0.001 and endZ < currentZ) then return end

post.ModalText (" G00")

post.ModalNumber (" X", endX * scale, "0.0000")

post.ModalNumber (" Y", endY * scale, "0.0000")

post.ModalNumber (" Z", endZ * scale, "0.0000")

post.Eol()

end



function OnMove()

post.ModalText (" G01")

post.ModalNumber (" X", endX * scale, "0.0000")

post.ModalNumber (" Y", endY * scale, "0.0000")

post.ModalNumber (" Z", endZ * scale, "0.0000")

post.ModalNumber (" F", feedRate * scale, "0.0###")

post.Eol()

end



function OnArc()

if(arcAngle <0) then

post.ModalText (" G03")

else

post.ModalText (" G02")

end

post.NonModalNumber (" X", endX * scale, "0.0000")

post.NonModalNumber (" Y", endY * scale, "0.0000")

post.ModalNumber (" Z", endZ * scale, "0.0000")

post.Text (" I")

post.Number ((arcCentreX - currentX) * scale, "0.0000")

post.Text (" J")

post.Number ((arcCentreY - currentY) * scale, "0.0000")

post.ModalNumber (" F", feedRate * scale, "0.0###")

post.Eol()

end





function OnPenDown()



post.ModalText(" G31 Z -100")

post.ModalNumber (" F", 500 * scale, "0.0###")

post.Eol()

post.ModalText(" G92 Z0.0\n")

post.ModalText (" G00")

post.ModalNumber(" Z", switchoffset, "0.0000")

post.Eol()

post.ModalText(" G92 Z0.0\n")

post.CancelModalNumbers()

post.ModalText (" G00")

post.ModalNumber (" X", endX * scale, "0.0000")

post.ModalNumber (" Y", endY * scale, "0.0000")

post.ModalNumber (" Z", pierceHeight * scale, "0.0000")

post.Eol()



post.Text ("\n M03\n")

if (pierceDelay > 0.001) then

post.Text (" G04 P")

post.Number (pierceDelay,"0.###")

post.Eol()

end



end





function OnPenUp()

post.Text (" M05\n")

if (endDelay > 0) then

post.Text (" G04 P")

post.Number (endDelay,"0.###")

post.Eol()

end

end





function OnNewOperation()

post.Text (" (Process: ", operationName, ")\n")

end



function OnComment()

post.Text(" (",commentText,")\n")

end



function OnToolChange()

post.Text (" M06 T")

post.Number (tool, "0")

post.Text (" (", toolName, ")\n")

end



function OnNewPart()

post.Text(" (Part: ",partName,")\n");

end



function OnDrill()

OnRapid()

OnPenDown()

endZ = drillZ

OnMove()

OnPenUp()

endZ = safeZ

OnRapid()

end

Similar Threads: