x y not waiting for z to lower first post problem?

Here is the part of the MP1000 scriber post that i think may have a problem.

function OnArc()
local radius = math.hypot(currentX - arcCentreX, currentY - arcCentreY)
dist = dist + radius * math.abs(arcAngle)

if (radius < slowRadius) and (math.abs(arcAngle) > 0.5) then
feed = (radius / slowRadius)
if(feed < slowPercent) then
feed = slowPercent
feed = feed * feedRate
feed = feedRate
if(arcAngle <0) then
post.ModalText (" G03")

post.ModalText (" G02")
post.ModalNumber (" X", (endX + offX) * scale, “0.0000”)
post.ModalNumber (" Y", (endY + offY) * scale, “0.0000”)
if(offZ) then
post.ModalNumber (" " … currentZAxis, (endZ + offZ) * scale, “0.0000”)

post.Text (" I")
post.Number ((arcCentreX - currentX) * scale, “0.0000”)
post.Text (" J")
post.Number ((arcCentreY - currentY) * scale, “0.0000”)
post.ModalNumber (" F", feed * scale, “0.0###”)

and then one part of the gcode problem area…
N3000 M08
N3010 G03 X12.8452 Y0.6954 Z0.5197 I0.0962 J0.0907
N3020 X12.8729 Y0.7774 I-0.0969 J0.0784
N3030 X12.8210 Y0.8734 I-0.1123 J0.0013
N3040 X12.6425 Y0.8770 I-0.0916 J-0.1163
N3050 G01 X12.6417 Y0.8762
N3060 G03 X12.6587 Y0.7012 I0.1065 J-0.0779
N3070 M09

When the scribe triggers (M8) the next move the x, y and z start moving at the same time instead of lowering the z to the work and then moving the x and y which results in part of the letter not being marked.

Any ideas, is the post faulty? I did not seem to notice this problem before, but it doesn’t mean it wasn’t there. Only other thing ive done lately is changed from PP to Ethernet Smoothstepper.

I also emailed Les to see what he thinks, but figured maybe someone else knows, or Les can see the code to diagnose easier.


Edit the post and on line 243 you should see this:

         post.ModalNumber &#40;" " .. currentZAxis, &#40;currentZ + offZ&#41;  * scale, "0.0000"&#41;

Change it to

         post.ModalNumber &#40;" " .. currentZAxis, &#40;endZ + offZ&#41;  * scale, "0.0000"&#41;

That should fix it.