Another Post Processor Problem: Torch references then drags

I finally got around to using the DCC features for the CandCNC products. The problem I am having is when I attempt to employ the scribe, the torch references the plate, then drags along the plate as the scribe does it’s job.

Don’t know much about g-code, but I don’t see where the Z is commanded to go back up to the safe Z position after referencing the material, which it obviously does not do. I don’t even know why the torch references at all before the scribe moves and does its thing.

Ideally, I would like to get rid of the torch referencing at all when it comes to utilizing the scribe, as the torch may be off the plate due to the scribe offset. Plus, I just don’t see any need for it in the first place.

Attached are the post processor and a simple line file.

Thanks in advance for any help with this.

OK, so I figured out what I screwed up in the post and the torch will now lift to safe z after referencing. I also see where the torch will not reference off of the metal somewhere, as it does so before the scribe moves into position. I’m still not sure why the torch references before each scribe movement. It didn’t do this with the old post I used and it just seems like a waste of time to me.

If someone could tell me how to keep the torch from referencing each time the scribe moves to a new position, I would greatly appreciate it.

Thanks.

If you edit your post processor, look for refDistance (toward the beginning of the post that I use). The larger the number the farther each reference will be from one to the next. I’m sure this affects both scriber and plasma cutting.

This also works together with the operations cutting rules if using Minimize thermal distortion. If the thermal distortion setting moves the torch further than the reference distance, it probably will keep referencing. Obviously, the scribe operation doesn’t need the Minimize rule, but if you forget like me, it may play in to it.

HTH
Paul

PK. Thanks for the reply. I understand the function of ref distance, but not sure I understand why the torch needs to reference before a scribe action at all.

I guess it would be possible that if the torch didn’t reference before a scribe action, then didn’t move far enough after the scribe action (depending on ref distance) to initiate another torch reference, the torch could fire without any reference at all, particularly when the scribe is the first tool utilized in the operation?

If that’s the case, then I guess the ref distance in my old post processor was so short that the torch always moved far enough after a scribe action, to initiate a new touch off sequence.

Sorry for the ramble, but just trying to learn.

Thanks.

The scribe and it’s offset is based on the torch tip location. So the system needs to know where the torch is in reference to the material to scribe and/or cut.

If I had a rigid scribe mount, I would want the system to reference the torch more often. If the table slats are not clean enough so the cutting material is not sitting flat, the scribe may start out fine, but either only scribe air or dive too hard into the material if the next scribe is far enough away and the material is not flat.

Hope I’m making sense.

Paul

I think I understand what you’re saying, but my scribe is air actuated and not mounted to the Z slide. Rather it is independent and retracts about 4" off the material between operations.

This is what my old post processor looks like:

–Scriber X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
–Use the special code ‘nil’ on the Z axis to disable it.
–In that case no Z values will be output at all while scribing.
–e.g scriberZ = nil
scriberX = 95.669
scriberY = -0
scriberZ = nil

This is what I would like to have in the new post. If I put “nil” in the scriberZ = field, it generates an error code in Mach and will not run.

For reference, here is the same information from the new post.

Scriber X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
–For the marker use the scriber Z as the offset from Z zero you want the Z to move to during a scribe.
–Change these values to suit your scriber setup
scriberX = 95.669
scriberY = 0
scriberZ = 12.7

When your scribe is not actuated, it doesn’t matter as long as the scribe tip “parks” above the height of the torch tip. SheetCam doesn’t know how much higher it goes.

When your scribe is down in operating mode, what is the difference, in height, between the tip of the scribe and the plasma torch tip? Your second post processor is set at 12.7mm (1/2") lower than the plasma torch tip. That means that while scribing, the plasma torch tip will be 12.7mm higher than the working material. That’s why some referencing is good. The more your material might not be level (relative to the gantry), the more referencing, the better.

Correct, while scribing, the torch will be 1/2" above the material. This is where I first had the problem as I had “0” rather than 12.7 in that field. Hence the torch dragging on the plate while scribing. I think that is all in order now. I just wish the torch would not reference during scriber operations (and remain at safe z) like in the old post. Unfortunately, I’m not smart enough to edit the code to make this happen :slight_smile: It’s not the end of the world, just annoying and unnecessary with my setup.

Thanks again.

Referencing is built into the post code. Go to Options->machine->post processor and edit your post. Look for this code starting on about line 300

function OnPenDown()
   if(toolClass == "MarkerTool")  then
      if (firstRef) then
         Reference()
         offX = scriberX
         offY = scriberY
         offZ = scriberZ
         if (offZ > 0 ) then --put in the Z offset height if it the first scribe after a ref
            post.NonModalNumber(" Z", offZ * scale, "0.0000")
            post.Eol()
         end
         post.ModalNumber (" X", (currentX + offX) * scale, "0.0000")
         post.ModalNumber (" Y", (currentY + offY) * scale, "0.0000")
         post.Eol()
      else --not a ref move
         if (markerZ == true ) then --put in the Z offset height before the scribe after the rapid 
            post.ModalNumber(" Z", offZ * scale, "0.0000")
            post.Eol() 
         end   
      end
      post.Text(" M08\n")

and change it to:

function OnPenDown()
   if(toolClass == "MarkerTool")  then
         if (markerZ == true ) then --put in the Z offset height before the scribe after the rapid 
            post.ModalNumber(" Z", offZ * scale, "0.0000")
            post.Eol() 
         end   
      post.Text(" M08\n")

It is a bit of a rough hack of the code but it should work.

I’ll give it a try on Monday. Thanks Les.