Post Processor help GRBL, Standalone THC, Floating head

Having problems with or questions about SheetCam? Post them here.
Post Reply
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

I've been cutting metal but am still having to manually add M08/9 commands to the gcode manually to control the THC.

I'm using the newest GRBL with scriber post and other than it duplicating a lot of lines, it's working well.

On holes smaller than 0.500" radius and lines shorter than six inches, I don't need the THC. If I leave it on for small holes, it dives into the work. I also need to issue a move to safe Z command after every M05 because if the THC was running and the plate is warping, the system doesn't know where z is until the next touch off. 0.500" is plenty to make up for the warping and to clear the dross on the way to the next touch off point.

Here's an example of code that I've modified that works:
N8580 G38.2 z-1.969 F7.874
N8590 G92 Z0.0
N8600 G00 Z0.0866
N8610 G92 Z0.0
N8620 G00 Z0.2500
N8630 M03 S1000
N8640 G04 P0.5
N8650 G01 X49.9814 Y31.8338 Z0.1000 F4.0
N8655 M08
N8660 G02 X50.0774 Y31.9298 Z0.1000 I0.0960 J0.0000 F130.0
N8670 G03 X50.6390 Y32.4409 Z0.1000 I-0.0000 J0.5641
N8680 G02 X50.8543 Y32.6369 Z0.1000 I0.2153 J-0.0203
N8690 G01 X70.3336 Y32.6406 Z0.1000
N8700 G02 X70.5489 Y32.4447 Z0.1000 I-0.0000 J-0.2163
N8710 G03 X71.6720 Y32.4447 Z0.1000 I0.5616 J0.0529
N8720 G02 X71.8873 Y32.6406 Z0.1000 I0.2153 J-0.0203
N8730 G01 X91.3666 Y32.6369 Z0.1000
N8740 G02 X91.5819 Y32.4409 Z0.1000 I-0.0000 J-0.2163
N8750 G03 X92.7051 Y32.4409 Z0.1000 I0.5616 J0.0529
N8760 G01 X92.7052 Y32.4441 Z0.1000
N8770 X92.7052 Y38.7472 Z0.1000
N8780 X92.7051 Y38.7504 Z0.1000
N8790 G03 X91.5819 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8800 G02 X91.3666 Y38.5544 Z0.1000 I-0.2153 J0.0203
N8810 G01 X71.8873 Y38.5544 Z0.1000
N8820 G02 X71.6720 Y38.7504 Z0.1000 I-0.0000 J0.2162
N8830 G03 X70.5489 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8840 G02 X70.3336 Y38.5544 Z0.1000 I-0.2153 J0.0203
N8850 G01 X50.8543 Y38.5544 Z0.1000
N8860 G02 X50.6390 Y38.7504 Z0.1000 I0.0000 J0.2163
N8870 G03 X49.5159 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8880 G01 X49.5157 Y38.7472 Z0.1000
N8890 X49.5157 Y32.4441 Z0.1000
N8900 X49.5159 Y32.4409 Z0.1000
N8910 G03 X50.0774 Y31.9298 Z0.1000 I0.5616 J0.0529
N8915 M09
N8920 M05
N8925 G00 Z0.5000

Here's the code as currently produced:
N8580 G38.2 z-1.969 F7.874
N8590 G92 Z0.0
N8600 G00 Z0.0866
N8610 G92 Z0.0
N8620 G00 Z0.2500
N8630 M03 S1000
N8640 G04 P0.5
N8650 G01 X49.9814 Y31.8338 Z0.1000 F4.0
N8660 G02 X50.0774 Y31.9298 Z0.1000 I0.0960 J0.0000 F130.0
N8670 G03 X50.6390 Y32.4409 Z0.1000 I-0.0000 J0.5641
N8680 G02 X50.8543 Y32.6369 Z0.1000 I0.2153 J-0.0203
N8690 G01 X70.3336 Y32.6406 Z0.1000
N8700 G02 X70.5489 Y32.4447 Z0.1000 I-0.0000 J-0.2163
N8710 G03 X71.6720 Y32.4447 Z0.1000 I0.5616 J0.0529
N8720 G02 X71.8873 Y32.6406 Z0.1000 I0.2153 J-0.0203
N8730 G01 X91.3666 Y32.6369 Z0.1000
N8740 G02 X91.5819 Y32.4409 Z0.1000 I-0.0000 J-0.2163
N8750 G03 X92.7051 Y32.4409 Z0.1000 I0.5616 J0.0529
N8760 G01 X92.7052 Y32.4441 Z0.1000
N8770 X92.7052 Y38.7472 Z0.1000
N8780 X92.7051 Y38.7504 Z0.1000
N8790 G03 X91.5819 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8800 G02 X91.3666 Y38.5544 Z0.1000 I-0.2153 J0.0203
N8810 G01 X71.8873 Y38.5544 Z0.1000
N8820 G02 X71.6720 Y38.7504 Z0.1000 I-0.0000 J0.2162
N8830 G03 X70.5489 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8840 G02 X70.3336 Y38.5544 Z0.1000 I-0.2153 J0.0203
N8850 G01 X50.8543 Y38.5544 Z0.1000
N8860 G02 X50.6390 Y38.7504 Z0.1000 I0.0000 J0.2163
N8870 G03 X49.5159 Y38.7504 Z0.1000 I-0.5616 J-0.0529
N8880 G01 X49.5157 Y38.7472 Z0.1000
N8890 X49.5157 Y32.4441 Z0.1000
N8900 X49.5159 Y32.4409 Z0.1000
N8910 G03 X50.0774 Y31.9298 Z0.1000 I0.5616 J0.0529
N8920 M05

This is what I'm talking about regarding duplicate lines:
N0170 G00 X50.0774 Y32.4026 Z0.5000
N0180 X50.0986 Y38.7127
N0190 X50.0986 Y38.7127
N0200 Z0.2500
N0210 M03 S1000

I've probably spent 40 hours studying LUA, attempting to mod the post processor myself, and just trying to add the commands in different places in the code but the M08/09's just don't show up in the right place and I can't figure out the correct syntax. The guys who's machine this is for bought a sheetcam license about a month ago so we're not using the trial version. Any help would be greatly appreciated.
User avatar
djreiswig
Posts: 471
Joined: Sat Feb 20, 2016 4:47 am
Location: SE Nebraska

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by djreiswig »

If you could post a simple job file, the post you are using, and the code you want the post to output, I can take a look at it. I have been somewhat successful at modifying posts, and would be happy to take a shot at it.
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

Sorry for the slow reply. I'm heading over there right now so I'll make sure I get a copy of the most recent post processor.

I'm cutting out the outline for my water table today so I'll post up copies of the as produced and modded g-code.


I really appreciate your help!
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

I attached a copy of the current post processor.

It looks like I'm actually going to be working on my stuff for a couple of weeks so it might be a bit before I can get back in there to apply and test changes. I'll work on gaining a better understanding of LUA in the meantime.
Attachments
GRBL THC with scribermodded2.scpost
(7.98 KiB) Downloaded 179 times
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

djreiswig wrote: Sat Jun 30, 2018 12:44 pm the code you want the post to output
Are the examples in the first post sufficient? All that's missing from the g-code clips is the beginning G20 G54 G90 stuff and the M05 M30 at the end.
User avatar
djreiswig
Posts: 471
Joined: Sat Feb 20, 2016 4:47 am
Location: SE Nebraska

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by djreiswig »

If you you could post the job file that made that code, it might help me to be able to duplicate the code.
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

I don't have a copy of the job file on this computer and probably won't be back at the machine until next week sometime. I will definitely get it posted up asap though.
User avatar
djreiswig
Posts: 471
Joined: Sat Feb 20, 2016 4:47 am
Location: SE Nebraska

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by djreiswig »

A few thoughts on this:
First off I don't see anywhere in the post where this line would be produced.
N8630 M03 S1000
The only M03 in the post only has M03 on that line. Where does the S1000 come from? Not in this post.

There is some scriber stuff in this post that I assume you aren't using since you say the M08/M09 are for your THC. I don't know if that is going to affect anything, but it makes it hard to read.
Also, I think the duplicate moves are caused by rounding. The post only displays 4 decimal places, but the calculations could be different further out. I know I ran into the same thing. I put a rounding calculation in my post to eliminate them.

The "holes smaller than 0.500" radius" should be able to be handled with a cut rule in SheetCam.
For the "lines shorter than six inches", I assume you mean an entity that is less that 6" in length. Would this include a circle with a radius of 0.95"? Thus a circumference of 5.97" or just straight lines?
There is a variable in SheetCam called entityLength that will give the length of the entity. We could probably use this in OnMove to turn off the THC if it is shorter than 6" or on if it 6" or over. Might be able to do the same thing with holes in OnArc, but I don't think there is a way to determine if the arc being cut is a circle.
Maybe Les with chime in with some additional thoughts.
User avatar
Les Newell
Site Admin
Posts: 3660
Joined: Thu May 11, 2006 8:12 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Les Newell »

I would definitely suggest doing the THC control with rules rather than modding the post.
Are the duplicate moves a problem?
If the height between moves is a problem you can change it in Options->job options->Material->Rapid clearance.
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

@djreiswig

I thought that I'd modded that post to add the S1000. Maybe I sent the wrong file? That would have been the only change I made though.

It sounds like post modification might not even be necessary though. I'd messed with cut rules but was skipping a step or two and couldn't figure it out.
I posted another thread about cut rules and code snippets and Les' reply makes perfect sense so that's definitely something I'm going to try right away.

@Les I've had a few alarms due to code errors but it's usually after the machine throws an alarm and I have to go manually remove all the code that's already been cut. Now that I know more, it's likely that I forgot to put a G01 in front of one of the lines that just populates the coordinates. The correct process would be to modify the drawing, open it in sheetcam, and make new code, but the guys decided to put the licensed copy of sheetcam on a computer that's busy doing other stuff, so modifying the code by hand is just much easier.

I've decided to take a break on working on my friend's machine though. The table needs leveled and they really need a water table if they want to cut thin stuff reliably and this machine has been nothing but a pain for them so far so they're hesitant to put more money into it at this point. I can't tune the software for a table that's not physically consistent and have probably spent 200+ hours building the new grbl controller and trying to get it reliable enough that they see the benefit in actually finishing it. I've been doing all the work for dang near free, with the deal being that I get to use the table at consumables/electricity cost when it's dialed. At this point, I'm not sure that it's ever going to be reliable and I just can't put any more into it. I'm in the middle of building my own machine too so fighting the learning curve hasn't been for nothing. Everything I'm learning here will definitely be put to use! https://forum.protoneer.co.nz/viewtopic.php?f=15&t=787

Thanks again for the help!
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

I'm back to messing with this stuff again and spent a few hours messing with path rules and different post processor options last night. Now I remember why I gave up. I simply don't have the gumption left to lead this effort...too many traumatic brain injuries and strokes to even remember what I have tried and haven't. So far, it's just easier to write out all of the code from scratch.

I figured I'd bump this and see if anyone out there with grbl, a floating head, and stand alone THC has figured out a working post processor yet.
Last edited by Ernesto on Sun Dec 09, 2018 12:27 am, edited 1 time in total.
Ernesto
Posts: 20
Joined: Wed Dec 06, 2017 7:25 pm

Re: Post Processor help GRBL, Standalone THC, Floating head

Post by Ernesto »

I attached a sample job file.

Here is the current post processor:
--************************************************
--*** Set these values up to suit your machine ***
--************************************************

--this is the distance between each torch reference in MILLIMETRES
refDistance = 250

--this is the reference feed rate in mm/min
refFeed = 500

--Put your switch offset value here in MILLIMETRES
--Put a sheet of metal on your machine and place a sheet of paper on top.
--Slowly jog the torch down onto the paper until the touch-off switch just operates.
--Zero the Z axis then pull gently on the paper and slowly jog up until the paper slides out.
--The Z axis position is your switch offset.
switchOffset = 1.5

--Scriber X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
--Use the special code 'nil' on the Z axis to disable it.
--In that case no Z values will be output at all while scribing.
--e.g scriberZ = nil
scriberX = 110
scriberY = 220
scriberZ = 0

--scriber axis. Leave this as nil if the scriber is fixed to the same axis as the torch
--scriberAxis = "A"
scriberAxis = nil

--this is an extra delay added to the first pierce as needed by some machines
firstPierceTime = 0


--************************************************
--*** End of settings ***
--************************************************



function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma MP1000-THC post processor with 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("refFeed - set the feed rate when referencing\n")
ctrl:AppendText("switchOffset - set your net switch offset amount \n")
ctrl:AppendText("Scriber uses any tool number\n")
end



-- created 1/1/06
-- Based on plasma1.post


-- Modified 21/6/2010
-- added option for 'nil' plate marker z
-- Added support for plate marker tool type as well as tool number based plate marker

-- Modified 4/11/2010
-- Added: Reference the torch on the first pen down if the plate marker is the first tool used.


post.DefineVariable("refDistance",sc.unitLINEAR,0,1e17)
post.DefineVariable("refFeed",sc.unitFEED,0,1e17)
post.DefineVariable("switchOffset",sc.unitLINEAR,-1e17,1e17)

function OnInit()

offX = 0
offY = 0
offZ = 0

post.SetCommentChars ("()", "[]") --make sure ( and ) characters do not appear in system text
if(scale == metric) then
post.Text (" G21\n") --metric mode
else
post.Text (" G20\n") --inch mode
end
post.Text (" F1\n G53 G90 G40\n")
minArcSize = 0.2 --arcs smaller than this are converted to moves
firstRef = true
currentZAxis = "Z"

dist = 9999999
lastz = 0
thcstate = 1
firstPierce = firstPierceTime;
end

function OnNewLine()
post.Text ("N")
post.Number (lineNumber, "0000")
lineNumber = lineNumber + 10
end


function OnFinish()
endZ = safeZ
OnRapid()
endX = 0
endY = 0
offX = 0
offY = 0
offZ = 0
OnRapid()
post.Text (" M05 M30\n")
end

function OnRapid()
if(endX > 1e17 and endY > 1e17) then return end
local len = math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
dist = dist + len
post.ModalText (" G00")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ and firstRef == false and currentZ ~= safeZ) then
post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Eol()
end

function OnMove()
local len = math.hypot(endX - currentX , endY - currentY)
dist = dist + len
post.ModalText (" G01")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end

function OnArc()
local radius = math.hypot(currentX - arcCentreX, currentY - arcCentreY)
dist = dist + radius * math.abs(arcAngle)

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")
if(offZ) then
post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
end
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(toolClass == "MarkerTool") then
if (firstRef) then
Reference()
post.ModalText (" G00")
post.Text(" Z")
post.Number (safeZ * scale, "0.0000")
post.Eol()
offX = scriberX
offY = scriberY
offZ = scriberZ
post.ModalNumber (" X", (currentX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (currentY + offY) * scale, "0.0000")
post.Eol()
end
if (offZ) then
post.ModalNumber (" " .. currentZAxis, (currentZ + offZ) * scale, "0.0000")
post.Eol()
end
post.Text(" M08\n")
else
if(dist >= refDistance) then
dist = 0
Reference();
end
post.ModalText (" G00")
post.Text(" Z")
post.Number (pierceHeight * scale, "0.0000")
post.Eol()
if (preheat > 0) then
post.Text ("\n G04 P")
post.Number (preheat,"0.0##")
post.Eol()
end
post.Text ("\n M03\n")
end
if (pierceDelay + firstPierce > 0.001) then
post.Text (" G04 P")
post.Number (pierceDelay + firstPierce,"0.0##")
firstPierce = 0
post.Eol()
end

end


function Reference()
firstRef = false
post.ModalText(" G38.2 z")
post.Number(-50 * scale, "0.0##")
post.ModalNumber (" F", refFeed * scale, "0.0###")
post.Eol()
post.ModalText(" G92 Z0.0\n")
post.ModalText (" G00")
post.Text(" Z")
post.Number (switchOffset * scale, "0.0000")
post.Eol()
post.ModalText(" G92 Z0.0\n")
end

function OnPenUp()
if(toolClass == "MarkerTool") then
if (firstRef) then
Reference()
end
post.Text(" M09\n")
else
post.Text (" M05\n")
end
if(dist >= refDistance) then
dist = 0
Reference();
end
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
post.Eol()
end
end

function OnToolChange()
if (toolClass == "MarkerTool") then
if(scriberAxis and scriberAxis ~= currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = scriberAxis
end
if(firstRef ~= true) then
offX = scriberX
offY = scriberY
offZ = scriberZ
end
else
if(scriberAxis and scriberAxis == currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = "Z"
end
offX = 0
offY = 0
offZ = 0
end
end

function OnDrill()
OnRapid()
currentX = endX
currentY = endY
OnPenDown()
endZ = drillZ
OnMove()
OnPenUp()
endZ = safeZ
OnRapid()
end


function OnComment()
post.Text(" (",commentText,")\n")
end



Here is the code it produces, which won't work because it doesn't add the M08/M09 commands to turn the THC on and off and it also fails because it's losing the X and Y location before the probe cycles. It's also calling for probes after some cuts, based on distances traveled, rather than putting the probes right before the start of each cut, where they need to be. :
N0010 G20
N0020 F1
N0030 G53 G90 G40
N0040 (arc voltage 123v 30A)
N0050 G00 X5.4596 Y18.7662
N0060 G38.2 z-1.969 F19.685
N0070 G92 Z0.0
N0080 G00 Z0.0591
N0090 G92 Z0.0
N0100 G00 Z0.0600
N0110 M03
N0120 G04 P0.5
N0130 G01 Z0.0300 F3.937
N0140 X5.8519 Y18.8442 F35.0
N0150 G03 I0.0000 J2.0938
N0160 G01 Y18.4442
N0170 M05
N0180 G38.2 z-1.969 F19.685
N0190 G92 Z0.0
N0200 G00 Z0.0591
N0210 G92 Z0.0
N0220 G00 Z0.3937
N0230 X5.3269 Y13.6976
N0240 Z0.0600
N0250 M03
N0260 G04 P0.5
N0270 G01 Z0.0300 F3.937
N0280 X5.7192 Y13.7756 F35.0
N0290 G03 I0.0000 J2.0937
N0300 G01 Y13.3756
N0310 M05
N0320 G38.2 z-1.969 F19.685
N0330 G92 Z0.0
N0340 G00 Z0.0591
N0350 G92 Z0.0
N0360 G00 Z0.3937
N0370 X5.3119 Y8.3140
N0380 Z0.0600
N0390 M03
N0400 G04 P0.5
N0410 G01 Z0.0300 F3.937
N0420 X5.7043 Y8.3920 F35.0
N0430 G03 I0.0000 J2.0937
N0440 G01 Y7.9920
N0450 M05
N0460 G38.2 z-1.969 F19.685
N0470 G92 Z0.0
N0480 G00 Z0.0591
N0490 G92 Z0.0
N0500 G00 Z0.3937
N0510 X5.3539 Y2.8194
N0520 Z0.0600
N0530 M03
N0540 G04 P0.5
N0550 G01 Z0.0300 F3.937
N0560 X5.7462 Y2.8975 F35.0
N0570 G03 I0.0000 J2.0937
N0580 G01 Y2.4975
N0590 M05
N0600 G38.2 z-1.969 F19.685
N0610 G92 Z0.0
N0620 G00 Z0.0591
N0630 G92 Z0.0
N0640 G00 Z0.3937
N0650 X2.5613 Y4.4349
N0660 Z0.0600
N0670 M03
N0680 G04 P0.5
N0690 G01 Z0.0300 F3.937
N0700 X2.1722 Y4.3423 F35.0
N0710 G03 I0.0778 J-2.0923
N0720 G01 X2.1573 Y4.7420
N0730 M05
N0740 G38.2 z-1.969 F19.685
N0750 G92 Z0.0
N0760 G00 Z0.0591
N0770 G92 Z0.0
N0780 G00 Z0.3937
N0790 X2.4372 Y9.8338
N0800 Z0.0600
N0810 M03
N0820 G04 P0.5
N0830 G01 Z0.0300 F3.937
N0840 X2.0547 Y9.7168 F35.0
N0850 G03 I0.2102 J-2.0832
N0860 G01 X2.0145 Y10.1148
N0870 M05
N0880 G38.2 z-1.969 F19.685
N0890 G92 Z0.0
N0900 G00 Z0.0591
N0910 G92 Z0.0
N0920 G00 Z0.3937
N0930 X2.5068 Y15.3587
N0940 Z0.0600
N0950 M03
N0960 G04 P0.5
N0970 G01 Z0.0300 F3.937
N0980 X2.1189 Y15.2613 F35.0
N0990 G03 I0.1041 J-2.0912
N1000 G01 X2.0990 Y15.6608
N1010 M05
N1020 G38.2 z-1.969 F19.685
N1030 G92 Z0.0
N1040 G00 Z0.0591
N1050 G92 Z0.0
N1060 G00 Z0.3937
N1070 X2.2740 Y20.7604
N1080 Z0.0600
N1090 M03
N1100 G04 P0.5
N1110 G01 Z0.0300 F3.937
N1120 X1.8995 Y20.6200 F35.0
N1130 G03 I0.3384 J-2.0662
N1140 G01 X1.8348 Y21.0147
N1150 M05
N1160 G38.2 z-1.969 F19.685
N1170 G92 Z0.0
N1180 G00 Z0.0591
N1190 G92 Z0.0
N1200 G00 Z2.5000
N1210 X0.0000 Y0.0000
N1220 Z0.3937
N1230 M05 M30






Here is the code I cobbled up using sheetcam's output and modifying it: (not sure if it's right yet as I'm not near the machine until next week. I manually added the M08/09's at the correct spots and moved the XY start position of each cut into a line before the probe cycle)
N0010 G20
N0020 F1
N0030 G53 G90 G40
N0040 (arc voltage 123v 30A)
N0045 G00 Z .5
N0050 G00 X5.4596 Y18.7662
N0060 G38.2 z-1 F5
N0070 G92 Z0.0
N0080 G00 Z0.0591
N0090 G92 Z0.0
N0100 G00 Z0.0600
N0110 M03
N0120 G04 P0.5
N0130 G01 Z0.0300 F5
N0135 M08
N0140 G01 X5.8519 Y18.8442 F35.0
N0150 G03 I0.0000 J2.0938
N0160 G01 Y18.4442
N0165 M09
N0170 M05
N0175 G00 Z0.25
N0177 G00 X5.3629 Y13.6976
N0180 G38.2 z-1 F5
N0190 G92 Z0.0
N0200 G00 Z0.0591
N0210 G92 Z0.0
N0240 G00 Z0.0600
N0250 M03
N0260 G04 P0.5
N0270 G01 Z0.0300 F5
N0275 M08
N0280 G01 X5.7192 Y13.7756 F35.0
N0290 G03 I0.0000 J2.0937
N0300 G01 Y13.3756
N0305 M09
N0310 M05
N0315 G00 Z0.25
N0317 G00 X5.3119 Y8.3140
N0320 G38.2 z-1 F5
N0330 G92 Z0.0
N0340 G00 Z0.0591
N0350 G92 Z0.0
N0360 G00 Z0.0600
N0390 M03
N0400 G04 P0.5
N0405 G01 Z0.0300 F5
N0407 M08
N0420 G01 X5.7043 Y8.3920 F35.0
N0430 G03 I0.0000 J2.0937
N0440 G01 Y7.9920
N0445 M09
N0450 M05
N0455 G00 Z0.25
N0457 G00 X5.3539 Y2.8194
N0460 G38.2 z-1 F5
N0470 G92 Z0.0
N0480 G00 Z0.0591
N0490 G92 Z0.0
N0520 G00 Z0.0600
N0530 M03
N0540 G04 P0.5
N0550 G01 Z0.0300 F5
N0555 M08
N0560 G01 X5.7462 Y2.8975 F35.0
N0570 G03 I0.0000 J2.0937
N0580 G01 Y2.4975
N0585 M09
N0590 M05
N0595 G00 Z0.25
N0597 G00 X2.5613 Y4.4349
N0600 G38.2 z-1 F5
N0610 G92 Z0.0
N0620 G00 Z0.0591
N0630 G92 Z0.0
N0660 G00 Z0.0600
N0670 M03
N0680 G04 P0.5
N0690 G01 Z0.0300 F5
N0695 M08
N0700 G01 X2.1722 Y4.3423 F35.0
N0710 G03 I0.0778 J-2.0923
N0720 G01 X2.1573 Y4.7420
N0725 M09
N0730 M05
N0735 G00 Z0.25
N0737 G00 X2.4372 Y9.8338
N0740 G38.2 z-1 F5
N0750 G92 Z0.0
N0760 G00 Z0.0591
N0770 G92 Z0.0
N0800 G00 Z0.0600
N0810 M03
N0820 G04 P0.5
N0830 G01 Z0.0300 F5
N0835 M08
N0840 G01 X2.0547 Y9.7168 F35.0
N0850 G03 I0.2102 J-2.0832
N0860 G01 X2.0145 Y10.1148
N0865 M09
N0870 M05
M0875 G00 Z0.25
N0877 G00 X2.5068 Y15.3587
N0880 G38.2 z-1 F5
N0890 G92 Z0.0
N0900 G00 Z0.0591
N0910 G92 Z0.0
N0940 G00 Z0.0600
N0950 M03
N0960 G04 P0.5
N0970 G01 Z0.0300 F5
N0975 M08
N0980 G01 X2.1189 Y15.2613 F35.0
N0990 G03 I0.1041 J-2.0912
N1000 G01 X2.0990 Y15.6608
M1005 M09
N1010 M05
N1015 G00 Z0.25
N1017 G00 X2.2740 Y20.7604
N1020 G38.2 z-1 F5
N1030 G92 Z0.0
N1040 G00 Z0.0591
N1050 G92 Z0.0
N1080 Z0.0600
N1090 M03
N1100 G04 P0.5
N1110 G01 Z0.0300 F5
N1115 M08
N1120 G01 X1.8995 Y20.6200 F35.0
N1130 G03 I0.3384 J-2.0662
N1140 G01 X1.8348 Y21.0147
N1145 M09
N1150 M05
N1200 G00 Z2.5000
N1201 GOO X0
M1202 G00 Y0
N1230 M05 M30
Attachments
valley circles.job
(12.96 KiB) Downloaded 110 times
Post Reply