Test cut program to find the ideal cutting speed

I decided to tweak the code to include the cutout program. I also turned the start piece and main pierce into Variables so that they are easier to find. The cutout will use the starting feedrate. Again everything is commented, and all of the adjustable variables are up top.

(Langmuir CrossFire)
(This file is for testing cutting feed rates using variables in the values below)
(You may need to adjust the pierce values to match your cutting machine and material thickness)
#100 = 80 (Starting Feed rate)
#101 = 5 (Feed Rate Increase per test cut)
#102 = 0 (Y Starting position)
#103 = .25 (Y axis incremental move per cut)
#104 = 4 (X axis length of test cut)
#105 = 10 (Number of test lines to cut)
#106 = .5 (Outside cut offset)
#120 = 1000 (Start Pierece Delay in Milliseconds)
#121 = 600 (Main Pierce Delay in Milliseconds)


(2D Profile1)
#102 = [#106] (Y start of first test cut)
#104 = [#104 + #106] (X start of first test cut)
G0 X[#106] Y[#102]
G4 P[#120] (Starting Pierce)
G1 X[#104] F[#100]
#100 = [#100 + #101] (Incremental Feedrate)
#102 = [#102 + #103] (Incremental Y Move)
G0 X[#106] Y[#102]
M98 P0001 L[#105-1]

#107 = [#104 + #106] (Length of cutout)
#108 = [[#103 * #105] + #103 + #106] (Height of cutout)
G0 X-0.1 Y[#108]
G4 P[#121]
G1 X[#107] Y[#108] F[#100]
X[#107] Y0
X0 Y0
X0 Y[#108]

M30 (End Of Program)

(Sub Program)
G4 P[#121] (Dwell in Milliseconds)
G1 X[#104] F[#100]
#100 = [#100 + #101] (Incremental Feedrate)
#102 = [#102 + #103] (Incremental Y Move)
G0 X[#106] Y[#102]


This is awesome, thank you again for sharing. Can’t wait to try it.

I like this new version where the test is cutout and effectively saved for future reference. However, looking at the code, it seems as if the cutout would use the ending feedrate, not the starting feedrate. It’s a nit, for sure, but I’m trying to verify if I understand the code.

Also, to confirm, is the ‘start’ pierce delay longer than the ‘main’ pierce delay because this is what should be done normally, ie, the initial delay has to be longer until the tip ‘warms’ up or is there another reason?

Ohh you are right, it is cutting at the final feedrate. Could add another Variable for the cutout feedrate.

The longer start pierce delay is there because others have recommended doing so. But every machine torch is different.

Cool. No problem on the feedrate, as you say, another variable can address that.

Thanks for the code and taking the time to post and discuss it.

I’ve used this code as a basis for an evaluation of the new plasma cutter I’m using and posted the results here: Lotos LTP5500D CNC Cut Chart

This post includes a link to my github repository that has the source code (and photos of results) I used for each material.

Thanks again for the original work. You will see in the referenced code that I cite your original work. Good job, again, very useful.

1 Like

I apologize if this is an eye-roll question, but I am absolutely new to the CNC world… how do you load your script to Mach 3? Do I copy and paste the code to Notepad and save as a .??? file type or is there a way to load directly to Mach 3?

I would recommend starting with the tutorials that Langmuir has provided at https://www.langmuirsystems.com/tutorials

With this file, you will want to copy and paste it into a notepad file.Then when you save it, change the “save as type” to “All Files (*)”. And the file name should end with .tap

You will also want to either change the pierce delays to seconds, or go into mach3 and change the parameters to use milliseconds. Apparently there is a bug in Mach3 that can cause issues if the dwell is under 1 second, switching to milliseconds fixes this problem.


Thank you Mike_C… I appreciate your help.

Got a chance to try your cut program and I have to say that it works absolutely wonderful and much easier than what I had to do in the past for testing.

Thank you for sharing.

I just got a bunch of scrap bits of odd materials I do t use to test so this is timely thanks!

1 Like

Which is the peirce value?, Drawing a blank?..

Thank you Mike, this is a great help in finding the best cut speed with my Hypertherm max30. I found that it worked better for me (with this low amperage plasma cutter) to start with the highest travel speed and reduce it for each successive cut. I just made the 101 variable a minus value. This also helped with cutting out the sample on the heavier material. Having a variable for start pierce and later pierce helped determine a good delay time. I duplicated the file for each of the materials and thicknesses I am using and ended up with some really valuable test data. And I can reuse them any time I use a new material or thickness.


That’s what I did as well. Whenever I feel the need to tweak a particular material/thickness, I can just open the previous file, modify the parameters, and save it as a new version. The process is simple and allows you to adjust practically anything. For example, for 16ga SS, I found that I needed a much longer delay after cut to allow the blank to cool down before the next cut, my first go was almost a disaster as the workpiece warped well beyond usability.

1 Like

Here are my test cuts, any advice.
Primeweld Cut 60 on Crossfire.
40amp shielded tips,

What material and gauge

Just to give you an idea, I run my cut 60 using the following for 18g cold rolled steel using the 40 amp Shields
.15 Pierce delay

5052 aluminum 11 gauge ( .125")
40 Amps
Speed - marked on the test piece
120 PSI @compressor
75 PSI @torch
60 Psi @cut
40 amp shielded tips from George

1 Like

Not going to be able to help you on that, I’ve only cut one piece of aluminum and it was a paper thin license plate blank that I cut for my torch shield and it was not a good cut but cleaned up for what I needed.

1 Like

From your test results (and consistent with my setup on a different cutter) 100-105 IPM is about right. Looks like you need a bit more pierce dwell delay as well. I use 600ms for AL. Your outside cut looks to be too fast. My test code selects the mid-range for the outside cut. I also use a lower air pressure, but I have a bigger nozzle (50A) then you’re using (not by choice, it’s the only size I have).


115 looks pretty decent on the bottom? You should write down the amps and air pressure on the test plate as well. And I prefer writing the notes on the bottom of the plate, as I am looking at the amount of slag on each cut.