Qtplasmac - every operation is spotting.

Hi Les,

I’ve turned to the dark side (Linuxcnc) and am trying to produce my first gcode file with “spotting”.

The part is a simple 100mm square with four 10mm holes inside.
Put the holes on a separate layer called HOLES.

Made two operations, the first one to spot the holes, and the 2nd one to do a normal cut on the square.

Problem is every cut is coming out as a spotting operation, including the square.

Job file, gcode file, and post processor attached.

Cheers,

Keith
QTPLASMAC HOLE TEST.tap (2.48 KB)
QTPLASMAC HOLE TEST.job (11.2 KB)
plasmacPHILL.scpost (9.5 KB)

Hi Les,

I managed to get some good gcode with a workaround but am wondering if this has revealed a bug in Sheetcam.

When I got all operation producing spotting, I was using the same tool for the DRILL operation on the holes, and the PLASMA operation on the square.

So I simply copied and pasted this tool to create a new but identical tool, but with a different tool number.

I then used that new tool for the PLASMA operation on the square and the gcode looks good.

Does that sound like a bug.
In the first case, it appears that because the tool was used for in the DRILLING operation for spotting, if that same tool is used in any other operations it causes those to also become a spotting operation.

It’s almost as though “function OnToolChange()” in the post processor did not run for the 2nd operation because the same tool was in use ??? and so the post processor still thinks the CENTRE SPOT tool still applies and makes every operation a spotting one.

I’m guessing “function OnToolChange()” does not run for a new operation if the tool number is the same and thus this section:

elseif 
           string.match (toolName, 'Centre Spot') or
           string.match (toolName, 'Center Spot') or
           string.match(operationClass, 'DrillOperation') then

will not have picked up that the 2nd operation is not a DRILL operation.

Does the post need OnNewOperation() included, with checking code in that ??

Keith
QTPLASMAC HOLE TEST 2.tap (2.76 KB)
QTPLASMAC HOLE TEST 2.job (11.7 KB)

LinuxCNC is a good choice. I’ve used quite a few different lower end controllers and in my opinion LinuxCNC is the best. It is the most configurable and it is reliable. Apart from the lasers, all of my machines now run LCNC.

SheetCam is working as designed. Function OnToolChange() only runs when a tool change is needed. As the tool number stays the same, OnToolChange won’t run.
That post is doing some really odd stuff when it comes to spotting. I am really not sure why the author of the post did it that way. I think the idea is that if you have a tool named ‘Centre Spot’ it spots the pierce points so you can hand drill them to allow cuts on thick material. However with that implementation it will fall over if you drill then cut with the same tool.
To be honest, looking through the post a bit more carefully I see some other issues as well, for instance feed rate override using rules won’t work.

I’d be willing to write an ‘official’ PlamaC post. Maybe it’s worth starting a thread on the LinuxCNC forum to discuss PlasmaC’s requirements.

I better own up. This post had its origins at Linuxcnc before plasmac was even thought of.

It borrowed from a feature in CandCNC which used a CENTERPUNCH tool in the same way.
It was never intended to be used for other operations, just for spotting.
I used to use it pre-plasmac by killing the arc as soon as I had an arcOK.

Now Plasmac is a bit smarter than that. Its based on an accidental discovery of mine and it uses a timer to kill the arc a set number of milliseconds after the arc is confirmed as on (when it exceeds a voltage threshold - say 10 volts). You need to experiment with the delay because if its too short, the arc does not turn on or you don’t get a spot. For my machine about 220 ms is the sweet spot). This technique allows for a much finer spot to be achieved .


I do use this technique a lot but always with the Centre Spot tool on a drilling operation on a different layer. In fact I used it today. I think the drilling operation does a good job of centring the tool to apply the spot. There does not seem to be a way to do this in a jet operation. Perhaps you could use a leadin from the centre of the hole and process the inside cut differently to generate a spot based on a hole diameter range in the post.

Because Linuxcnc is multispindle (with M3 $3 for spindle #3 etc), I think a standard should be set to use the next available spindle number (currently #0 = plasma, #1 = engraver, #2 = spotting) so looks like it is #3 to run a real drilling head. So lets set up all the available drills were set up in the Linuxcnc tool library that contained the X&Y offsets for spindle #3 and the Z axis offset of the drill.

Then let the post select spindle #2 to do spotting if the tool name = Centre Spot and Spindle #3 if the tool name is anything else.

So lets just assume the job I did today and I had a drilling head. I needed to tap with a M8 thread. Say I also decided I needed some 2.5mm holes I needed to drill and tap out to M3. So I should be able to run drilling operations to centre spot the M3 hole positions with M3 #2, then use the drilling head to drill the 6.8mm holes to tap M8 using M3 #3. How does that sound?

Maybe Les has a smarter idea!

A long time ago SheetCam didn’t have the option to use plasma with the drilling operation. I guess the CandCNC post you used for inspiration was a workaround for that. To be honest I wouldn’t recommend starting from CandCNC posts. They tend to be very complicated and it’s easy to end up with odd bugs that only show up in specific circumstances.

I’d say the best way to go would be to put all of the spotting code in the drilling operation. At the moment it’s spread out all over the post, which can makes it easy to introduce bugs.

Because Linuxcnc is multispindle (with M3 $3 for spindle #3 etc), I think a standard should be set to use the next available spindle number (currently #0 = plasma, #1 = engraver, #2 = spotting) so looks like it is #3 to run a real drilling head. So lets set up all the available drills were set up in the Linuxcnc tool library that contained the X&Y offsets for spindle #3 and the Z axis offset of the drill.

I see that’s the way your post is set up. It’s more common to use work or fixture offsets for different heads but I don’t see any issue with using spindles.

So lets just assume the job I did today and I had a drilling head. I needed to tap with a M8 thread. Say I also decided I needed some 2.5mm holes I needed to drill and tap out to M3. So I should be able to run drilling operations to centre spot the M3 hole positions with M3 #2, then use the drilling head to drill the 6.8mm holes to tap M8 using M3 #3. How does that sound?

That’s doable. You can put all of the holes on the same layer then use min and max hole size to sort which holes are drilled.
It’s not that often that plasma machines have drilling heads but SheetCam can certainly handle it.

When you are spotting you do a very small move. Is that something specific to the PlasmaC pre-processor? On my machine (based on CandCNC hardware) I simply do M3/M5. M3 is set up to turn on the torch and wait for an arc OK signal.

Is it possible to specify stuff like cut height, the pierce parameters etc in g-code? I understand that PlasmaC is set up to have it’s own tool parameters and if you are doing production work that makes a lot of sense. However for applications where you are doing a lot of different parts on varying materials it would be easy to get PlasmaC’s settings out of sync with SheetCam’s settings. In that case it would be easier to keep everything in one place. It would mean writing two posts but I don’t mind doing that.

Does PlasmaC probe the top of the work for every pierce? I often set up posts to not probe if you have several small cuts close to each other. That can save a significant amount of time in some cases. The post would need to be able to manually call the probing cycle to do that.

I think this thread is as good a place as any to discuss this.
https://forum.linuxcnc.org/plasmac/42374-sheetcam-and-trying-to-generate-spotting-gcode?start=20#207218
Others there know more than me these days…

Lets just stick to the new QTPLasmac in V 2.9 for features in the following discussion.

I beleive this is to trick Linuxcnc to fire the torch relay. No movement between an M3 and an M5 does nothing. I just don’t have any code her at home to check.

Yes It seems so today.

The original idea from Phill was to have a fully self contained system that could take some gcode generated by gcode tools and be cut by the selected tool in the GUI. Slowly, we sheetcam users broke this down. First with being able to select the tool from the plasmac tool number from sheetcam and the ability to import Sheetcam’s toolset into plasmac.

Now it seems there are some magic comments that allow the gcode to set up the tool parameters
http://linuxcnc.org/docs/devel/html/plasma/qtplasmac.html#qt_magic-comments

Yes, there is a setting in the GUI that supports this. See http://linuxcnc.org/docs/devel/html/plasma/qtplasmac.html#qt_ihs-skip
But the distance is based from the end of the last cut on the assumption the height is accurate due to the THC. I think this was copied from some of the Hypertherm software features. Plasmac’s THC is so accurate I’m sure this will work. I don’t know why the distance from the last probe event is not used as well with the THC engaged.

I’m not sure how useful this feature is. I laboriously overrode a complex nest of hundreds of small parts to minimise rapids and then I found out why Sheetcam has a “Minimise Thermal Distortion” setting :slight_smile: Man, did it warp!

PS, I’m not really the guy to ask about drills, work offsets and tool offsetsas I’m not a CNC guy. But I do do a G54 touchoff with my laser pointer where I want the job to start. I would have thought any drilling need to be referenced back to that 0,0 point.

Is this the correct PP for QTplasmaC ?

LinuxCNC PlasmaC

Take a look at this thread https://forum.linuxcnc.org/plasmac/42374-sheetcam-and-trying-to-generate-spotting-gcode?start=40. The post processor I posted there is probably the best one to use.

My only experience with Sheetcam is from CandCNC where everything was configured when I received the PC.

I have the PP that you made for LinuxCNC (thank you) loaded into a fresh install of Sheetcam. How do I take a cad file and create the .ngc file? Do I need to create a dummy tool in Sheetcam since I will be putting the material and cut parameters in from the plasmac gui?

Thanks!

If you are putting the cut parameters in the plasmac GUI you just need to specify the kerf width. Cut and pierce height can be anything as long as the are below the rapid clearance height (in Options->job options->material).

If you want it to behave more like the CandCNC setup you can configure the post to use SheetCam’s the tool settings instead of the settings in PlasmaC. To do this go to Options->machine->post processor and click on the ‘edit post’ button. You’ll find the configuration options near the start of the file.

Thanks Les! I got it working!