Z axis speed setting for THC.

Is there a way to adjust my Z axis speed automatically when my THC is on? I have modified my post and added: M667 F20 as an example. But I have to do that for each material (tool), because the thickness / travel speed changes. Can I put in a line of code that would reference the tool /speed used and adjust the THC Z speed as a percentage of the tool speed? Example 1/4” steel cuts at 48 ipm, so my THC line would be M667 F (refTool *.5), The exact speed correction is still to be determined.
I am using a capacitive THC with a Masso controller and DMM servo drives. Thank you,

you can add it to the post processor file so that an extra text box is added to the tool table.

I would suggest you have a look at the candcnc post processors installed as default. at the start of the code befor oninit() there is a section that defines additional thc voltages that the candcnc postprocessor requires and passes to their THC as part of the code.

within the post processor documentation it explains the defined variables and adding additional custom boxes to the tools or process that you can then automatically pass to the controller via gcode sequence

Thank you for the advice. I will look into it.

Now I am in front of a laptop and not a phone I can give you a bit more information…

It you open up the default installed CandCNCPlasmaLLCNC-rev16.scpost post processor you’ll see that it has


post.DefineCustomToolParam("PlasmaTool", "Preset volts", "presetVolts", sc.unit0DECPLACE, 49, 0, 200)

The “post.DefineCustomToolParam” function allows you to define those additional test boxes that could be added to any of the tools.

In this case

DefineCustomToolParam(toolClass,caption,varName,units,default,min,max)
Adds an extra parameter to a tool definition.
toolClass is the tool class name. See the toolClass variable for a description of tool classes
default is the default value. Note that values are always in METRIC for linear units, RADIANS for angular units and a decimal fraction for percentage e.g 0.1 = 10%
The rest of the syntax is as DefineVariable

DefineVariable(varName,units,min,max)
Define a variable name for use in the ‘set variable’ dialog.
varName = variable name
units. One of the following: sc.unitTEXT, sc.unitLINEAR, sc.unitANGULAR, sc.unitFEED, sc.unitRPM, sc.unitTIME, sc.unitPERCENT, sc.unitPITCH,
sc.unit0DECPLACE, sc.unit1DECPLACE, sc.unit2DECPLACE, ,sc.unit3DECPLACE, sc.unit4DECPLACE note the unitxDECPLACE units display
a number without units with a precision of the given number of decimal places
min minimum value (ignored for text)
max maximum value (ignored for text)

I’ll give it a try. Thank you

Ok, I looked into your solution a little last night. If I understand correctly, this will give me an additional text box for each tool. I would then enter a custom Z speed for each tool in the new text box. When the tool is used, and the THC is called, it would run the Z axis at the speed posted for that tool. Is that correct? Thank you

in the function OnToolChange() add this code:

   post.Text(" M667 F")
   post.Number(feedRate * 0.5 * scale, "0.##")
   post.Eol()

That will output the M667 feed rate as 50% of the cutting feed rate. You can obviously change the percentage to suit.

Thank you so much. That is exactly what I was looking for.

I did not have the function onToolchange() in my post. I did have a Function ThcOn(). So I put the command there. It appears to be working. Thank you

You can add the function of it isn’t there.

Putting it in THCon should work. You can create your own OnToolChange()

function OnToolChange()
   post.Text(" M667 F")
   post.Number(feedRate * 0.5 * scale, "0.##")
   post.Eol()
end

Thanks again Les. It seems to be working in the THC area. Somehow, I also managed to install a post variable for THC ON & 15%. I think it is also having some affect as well. I just have not had time to play with it to see all of the results. Looking forward to some quality time in the garage :laughing: Eventually, I will build separate Posts with each option to see which works the best. I do appreciate the help, and I love the Sheetcam software.

Hi is it possible to achieve setting the THC feed with path rules? I’ve just learned how to utilize path rules and its awesome just like the sheetcam software itself wish I found it sooner.

Just my limited experience talking here. If I had to just change the THC speed to just one setting, I would modify the post on the line that calls the THC on: right after M667 add F and the speed.

function ThcOn()
if(thcstate ==0) then
thcstate = 1
post.Text(" M667 F40 (—THC on—)\n");
return
end
if(thcstate == 2) then
thcstate = 0
end
end