Rotary cutting square tube with PlasmaC?

More
10 Jan 2021 20:45 #194776 by tommylight
Round tube.

Please Log in or Create an account to join the conversation.

More
10 Jan 2021 21:09 - 10 Jan 2021 21:10 #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....) :)
Last edit: 10 Jan 2021 21:10 by robertspark.

Please Log in or Create an account to join the conversation.

More
10 Jan 2021 21:13 #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 or Create an account to join the conversation.

More
10 Jan 2021 21:17 #194781 by rodw

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 or Create an account to join the conversation.

More
10 Jan 2021 23:23 - 10 Jan 2021 23:24 #194808 by robertspark

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.
Last edit: 10 Jan 2021 23:24 by robertspark.
The following user(s) said Thank You: rodw, razplaz

Please Log in or Create an account to join the conversation.

More
10 Jan 2021 23:26 #194809 by phillc54

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 or Create an account to join the conversation.

More
10 Jan 2021 23:31 #194810 by rodw

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 or Create an account to join the conversation.

More
11 Jan 2021 00:32 #194826 by robertspark
Just looking at sheetcam now there actually is a LinuxCNC Plasma Rotary post processor listed:
--************************************************
--*** 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 or Create an account to join the conversation.

More
11 Jan 2021 01:00 #194835 by rodw

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 or Create an account to join the conversation.

More
11 Jan 2021 11:11 #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
The following user(s) said Thank You: tommylight, rodw, snowgoer540, razplaz

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.103 seconds
Powered by Kunena Forum