sadisticironwerks
Active Member
Offline
Posts: 7
|
 |
« Reply #9 on: June 13, 2010, 12:44:54 PM » |
|
ok has anybody had success with the mp1000-dthc.scriber post. i am having a hard time setting the limits in the post. i have set the offsets but the engraver is still not set with the offset that its at in relation to the plasma torch. i have included the post to see were im going wrong. i would also like to install a pause at m08 for a second or two. any help would be great. thanks
function OnAbout(event) ctrl = event:GetTextCtrl() ctrl:AppendText("plasma MP1000-THC post processor with engraver\n") ctrl:AppendText("Tools 100 and up are the engraver\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("M08/M09 turn the engraver on/off\n") ctrl:AppendText("Incremental IJ - set in mach2\n") ctrl:AppendText("The torch is referenced at cut start and every 500mm of movement thereafter\n") ctrl:AppendText("Designed for use with Mach3 and CandCNC MP1000-THC and Floating head Touch-n-Go\n") ctrl:AppendText("Post variables:\n") ctrl:AppendText("refdistance - set the distance between each reference\n") ctrl:AppendText("switchoffset - set your net switch offset amount \n") ctrl:AppendText("\nScriber uses tool numbers 100 and up") end
-- created 1/1/06 -- Based on plasma1.post
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 else post.Text (" G20 (Units: Inches)\n") --inch mode end post.Text (" G53 G90 G40\n F1\n") minArcSize = 0.2 --arcs smaller than this are converted to moves
dist = 9999999 refdistance = 10* scale
--Put your switch offset value here switchoffset =.260 lastz = 0
--Scriber X,Y,Z offsets scriberX = -4.803 scriberY = -.250 scriberZ = 2.
end
function OnNewLine() post.Text ("N") post.Number (lineNumber, "0000") lineNumber = lineNumber + 10 end
function OnFinish() endZ = 2.0 OnRapid() endX = 0 endY = 0 OnRapid() post.Text (" M05 M30 G28\n") end
function OnRapid() dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY) post.ModalText (" G00") post.ModalNumber (" X", (endX + offX) * scale, "0.0000") post.ModalNumber (" Y", (endY + offY) * scale, "0.0000") post.ModalNumber (" Z", (endZ + offZ) * scale, "0.0000") post.Eol() end
function OnMove() dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY) post.ModalText (" G01") post.ModalNumber (" X", (endX + offX) * scale, "0.0000") post.ModalNumber (" Y", (endY + offY) * scale, "0.0000") post.ModalNumber (" Z", (endZ + offZ) * scale, "0.0000") post.ModalNumber (" F", feedRate * scale, "0.###") post.Eol() end
function OnArc() dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY) if(arcAngle <0) then post.ModalText (" G03") else post.ModalText (" G02") end post.ModalNumber (" X", (endX + offX) * scale, "0.0000") post.ModalNumber (" Y", (endY + offY) * scale, "0.0000") post.ModalNumber (" Z", (endZ + offZ) * 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(tool > 100) then post.Text(" M08\n") return end if(dist >= (refdistance/scale)) then dist = 0 -- modaltext (" G00") -- text(" Z") -- number (pierceheight * scale, "0.0000") -- eol() post.ModalText(" G28.1 Z") post.Number(3 * scale, "0.00") post.Eol() post.ModalText(" G92 Z0.0\n") post.ModalText (" G00") post.Text(" Z") post.Number (switchoffset, "0.0000") post.Eol() post.ModalText(" G92 Z0.0\n") post.ModalText (" G00") post.Text(" Z") post.Number (pierceHeight * scale, "0.0000") post.Eol() else post.ModalText (" G00") post.Text(" Z") post.Number (pierceHeight * scale, "0.0000") post.Eol() end 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() if(tool > 100) then post.Text(" M09\n") return end 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") 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 OnToolChange() if (tool > 100) then offX = scriberX offY = scriberY offZ = scriberZ else offX = 0 offY = 0 offZ = 0 end end
function OnNewPart() post.Text(" (Part: ",partName,")\n"); end
function OnDrill() OnRapid() OnPenDown() endZ = drillZ OnMove() OnPenUp() endZ = safeZ OnRapid() end
|