I am having a pierce delay (plasma), even when set to 0. Not long, but it makes an unecessarily large pierce hole when it doesn't need to delay.
Any ideas? I thought maybe it was the spindle incr. setting in general config waiting for it to spin up, it was set at 10, and spindle speed in gcode is 500, so i tried setting it to 500, and didn't seem to make a difference???
I would like to get rid of this if possible. Also if you see something else wrong in the post or gcode, let me know, Im learning well, but still a long ways to go.
here is a gcode for a straight line test cut using sheetcam, I cant find anything weird, so I think its with mach.
I am setting z home switch offset in the post file, and using sheetcam for pierce delays, heights, etc.
------------------
N0000 (Filename: 2&half horizontal line.tap)
N0010 (Post processor: Brians Plasma THC300.scpost)
N0020 (Date: 1/30/2009)
N0030 G20 (Units: Inches)
N0040 G53 G90 G40
N0050 F1
N0060 S500
N0070 (Part: 2&half horizontal line)
N0080 (Process: nil)
N0090 M06 T3 (1/4" steel 60 amp)
N0100 G00 Z1.0000
N0110 X0.0000 Y0.0000
N0120 G28.1 Z0.12
N0130 G92 Z0.0
N0140 G00 Z0.3575
N0150 G92 Z0.0
N0160 G00 Z0.1250
N0170 M03
N0180 G01 X0.0000 Y0.0000 Z0.0625 F100
N0190 X2.5000 F40
N0200 M05
N0210 G00 Z1.0000
N0220 X0.0000 Y-0.2500
N0230 M05 M30
----------------------
Here is my post file
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma THC300 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 500mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach2 and Campbell Designs THC300\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")
dist = 9999999
refdistance = 500 * scale
switchoffset = .3575
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(endZ < currentZ) then return end
dist = dist + math.hypot(endX-currentX , endY-currentY)
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()
dist = dist + math.hypot(endX-currentX , endY-currentY)
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.###")
post.Eol()
end
function OnArc()
dist = dist + math.hypot(endX-currentX , endY-currentY)
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()
if(dist >= (refdistance/scale)) then
dist = 0
post.ModalText(" G28.1 Z")
post.Number(3 * scale, "0.00")
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()
end
post.ModalText (" G00")
post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
post.Eol()
if (preheat > 0) then
post.Text ("\n G04 P")
post.Number (preheat,"0.###")
post.Eol()
end
post.Text ("\n M03\n")
if (pierceDelay > 0) 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: ", processname, ")\n")
if (plungeRate <= 0) then
post.Warning("WARNING: Plunge rate is zero")
end
if (feedRate <= 0) then
post.Warning("WARNING: Feed rate is zero")
end
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
---------------------------
???
Brian