Rotary cutting square tube with PlasmaC?

More
5 years 9 months ago #194776 by tommylight
Round tube.

Please Log in to join the conversation.

More
5 years 9 months ago #194779 by robertspark
for round tube I just use one of these with a bracket to hang it underneath / supported to my table + allow me to square it.

i.ebayimg.com/images/g/AwgAAOSwUY9dPzvk/s-l1600.jpg

with a bit of an uprated stepper motor (nema 23, 4.2A, 3.1Nm)
www.cnc4you.co.uk/Stepper-Motor/Nema23-3...Nm-60BYGH301B-Nema23

I don't do a lot of tube, but it works fine for my hobbist needs (beats an angle grinder + flapdisc / file....) :)

Please Log in to join the conversation.

More
5 years 9 months ago #194780 by rodw
So anyway, back to the original question. I think to use the Sheetcam rotary plugin for square tube, you probably would be best not using Plasmac so you have gcode control of the Z axis. start the torch with the spindle.0.on signal, and do the probing in Gcode using a touch off routine. BigJohn has an example on his web site gnipsel.com if you can't work it out.

You won't need a THC or any fancy features so a standard axis config would do the job for you.

Please Log in to join the conversation.

More
5 years 9 months ago #194781 by rodw

robertspark wrote: for round tube I just use one of these with a bracket to hang it underneath / supported to my table + allow me to square it.

i.ebayimg.com/images/g/AwgAAOSwUY9dPzvk/s-l1600.jpg

with a bit of an uprated stepper motor (nema 23, 4.2A, 3.1Nm)
www.cnc4you.co.uk/Stepper-Motor/Nema23-3...Nm-60BYGH301B-Nema23

I don't do a lot of tube, but it works fine for my hobbist needs (beats an angle grinder + flapdisc / file....) :)


Robert is that a 4 jaw self centring chuck? They would be perfect for square tube.

Please Log in to join the conversation.

More
5 years 9 months ago #194808 by robertspark

rodw wrote: Robert is that a 4 jaw self centring chuck? They would be perfect for square tube.


yes that is why I got it / went with the 4 jaw self-centring. (also better with thinner wall tube)

I've not tried it with square tube.... but it was a nice to have / just in case feature.

Please Log in to join the conversation.

More
5 years 9 months ago #194809 by phillc54

rodw wrote: you probably would be best not using Plasmac so you have gcode control of the Z axis.


It would be easy enough to add an option in the gcode parser for a magic comment to not remove Z axis motion commands.

Please Log in to join the conversation.

More
5 years 9 months ago #194810 by rodw

phillc54 wrote:

rodw wrote: you probably would be best not using Plasmac so you have gcode control of the Z axis.


It would be easy enough to add an option in the gcode parser for a magic comment to not remove Z axis motion commands.


That would be cool. But some way the Sheetcam post could set that without changing the post processor would be even better. I don't know the Sheetcam rotary. does it have a different post?

I wonder if a cutting rule could be used to insert the comment?

Please Log in to join the conversation.

More
5 years 9 months ago #194826 by robertspark
Just looking at sheetcam now there actually is a LinuxCNC Plasma Rotary post processor listed:
Code:
--************************************************ --*** Set these values up to suit your machine *** --scriber axis. --scriberAxis = "B" scriberAxis = "Z" --If this value is set to true then use G28 (home) for the Z reference --Set it to false for G31 probe refHome = true --rotary axis. Normally this would be "A" rotaryAxis = "A" --Number of units for one full revolution of the rotary axis --Note: In Mach3 the axis should be defined as linear, not rotary! unitsPerRev=360 -- Rapids will move the shortest distance to the next cut but may cause machines with limited rotation -- to 'wind up'. Set this to 0 to disable optimisation. --defaults to 1 if not defined optimiseRapids = 1 --************************************************ --*** End of settings *** --************************************************ function OnAbout(event) ctrl = event:GetTextCtrl() ctrl:AppendText("Post for rotary-plasma plugin LinuxCNC plasma\n") ctrl:AppendText("\n") ctrl:AppendText("Modal G-codes and coordinates\n") ctrl:AppendText("Comments enclosed with ( and )\n") ctrl:AppendText("Incremental IJ\n") end -- revision 3/2/07 -- Removed final safety move. This is now done in SheetCam -- revision 7/10/04 -- Added new arc handling -- Created 30/3/2005 -- based on Mach2.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 (" G40 G90\n F1 S1\n") 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() post.ModalText (" G00") post.ModalNumber (" X", endX * scale, "0.0000") post.ModalNumber (" Y", endY * scale, "0.0000") post.ModalNumber (" Z", (endZ + toolOffset) * scale, "0.0000") post.ModalNumber (" " .. rotaryAxis, endA, "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 + toolOffset) * scale, "0.0000") post.ModalNumber (" " .. rotaryAxis, endA, "0.0000") post.ModalNumber (" F", feedRate * scale, "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 * scale, "0.0000") post.ModalNumber (" Y", endY * 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 (" " .. rotaryAxis, endA, "0.0000") post.ModalNumber (" F", feedRate * scale, "0.0###") post.Eol() end function OnPenDown() local matZ = sc.QueryDll(qryCHKEND, endY, dllId) post.NonModalNumber(" o<touchoff> call [" ,(pierceHeight + matZ) * scale ,"0.000" ) post.Text ("] ") post.NonModalNumber("[", pierceDelay * scale, "0.##") post.Text ("] ") post.NonModalNumber("[", cutHeight * scale, "0.##") post.Text ("] (Touchoff and start cutting)\n") post.NonModalNumber (" F", feedRate * scale, "0.###") post.Eol() 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 (" (Operation: ", operationName, ")\n") end function OnComment() post.Text(" (",commentText,")\n") end function OnNewPart() post.Text(" (Part: ",partName,")\n"); end function OnDrill() OnRapid() OnPenDown() endZ = drillZ OnMove() OnPenUp() endZ = safeZ OnRapid() end function OnFinish() post.Text ("G92.1 (Cancel offsets and set to zero)\n") post.Text ("G0 Z0\n") post.Text ("M2\n") post.Text ("%\n") end --Set this to the number of units for one full revolution of the A axis. For example 360 = 360 degrees. unitsPerRev=360 package.path = sc.Globals:Get().thisDir .. "/plugins/RotaryPlasma/?.lua" require("rotaryhelper") --change this to 1 if your machine is a robot --defaults to 0 isRobot = 0 --maximum error when converting arcs to multiple line segments. --Smaller numbers give better resolution but larger code size. --defaults to 0.1 arcResolution = 0.1 -- Rapids will move the shortest distance to the next cut but may cause machines with limited rotation -- to 'wind up'. Set this to 0 to disable optimisation. --defaults to 1 optimiseRapids = 0 --Set this to false if your code does not do a reference cycle ignorePierceHeightMove = true function OnArc() post.ArcAsMoves(0.1) end

Please Log in to join the conversation.

More
5 years 9 months ago #194835 by rodw

robertspark wrote: Just looking at sheetcam now there actually is a LinuxCNC Plasma Rotary post processor listed:


If you look at onPenDown it requires a touchoff routine in a seperate gcode file. You can grab BigJohn's from here:
gnipsel.com/shop/plasma/plasma.xhtml

This will get you going but you can improve on this by probing back away form the material (check the gcode docs).

Please Log in to join the conversation.

More
5 years 9 months ago #194878 by phillc54
I put a magic comment in the QtPlasmaC gcode parser, so if anyone is game they can give it a try, it is called #<keep-z-motion>

#<keep-z-motion> = 1,  you can make z axis moves and qtplasmac will NOT make the initial Z move

#<keep-z-motion> = anything else, it behaves as existing

if it is not in the gcode file it means it behaves as existing

Please Log in to join the conversation.

Time to create page: 0.062 seconds
Powered by Kunena Forum