Maybe i misunderstand the conceot, but drilling i always have problems with. I have these settings and always get rapid movements where they should be feed see
Cut depth set to 15mm
peck depth 5mm
Peck retract 2mm
Plunge rate 50mm/min
I would have thought that the operation would have gone
set feed rate -5mm deep, retracted to-3mm at rapid, rapid back to -5mm and start drilling again at 50mm/min, to -10mm, then rapdi back to-8mm, rapid back to -10mm, drill at set feed to -15mm and be done. is there a setting i have wrong?
this is set um on a milling machine with mach3. Les can you help me figure this out.
In the simulation it always works perfect. only when it rights the code it does this every time. what do you mean by a post processor?
Sheetcam, Mach3 is all I use?
If you go to Options->machine->post processor you just have the Mach3 post selected? That post should be fine. Could you post the job file so I can run it here and try to figure out what is going on.
This looks like a bug in the rotary helper. I’ll fix it properly for the next release but you can fix your copy yourself. Run SheetCam as administrator (right-click on the SheetCam shortcut->run as administrator). Now go to Options->plugin options->RotaryPlasma and click on the ‘edit macro’ button. In the editor go to File->open and open the RotaryHelper file. In there replace function OnRapid() and function OnRapid2() with the versions below:
function OnRapid()
--post.Text(" R ex = " .. endX .. " ey = " .. endY .. " ez = " .. endZ .. "\n")
local tx = endX
local ty = endY
local tz = endZ
if(endX >= 1e17 or endY >= 1e17) then return end
sc.QueryDll(qrySETXSTART, endX, dllId)
sc.QueryDll(qrySETYSTART, endY, dllId)
sc.QueryDll(qrySETZSTART, endZ, dllId)
if(endZ >= safeZ) then
local z
if(endZ > 1e17) then
z = sc.QueryDll(qryGETSAFEZ, 0, dllId) + safeZ
endZ = 0
else
if(currentY > 1e17) then
z = sc.QueryDll(qryCHKEND, endY, dllId)
else
z = sc.QueryDll(qryCHKEND, currentY, dllId)
end
end
-- rotaryVals.z = z
if(z > rotaryVals.z and currentX < 1e17 and currentY < 1e17) then
endX = rotaryVals.cx
endY = rotaryVals.cy
endZ = z + endZ
DoRapid()
endX = tx
endY = ty
endZ = tz
end
rotaryVals.z = z + endZ
else
sc.QueryDll(qrySETZ, endZ, dllId)
rotaryVals.z = sc.QueryDll(qryGETZ, 0, dllId)
if(ignorePierceHeightMove and endZ < currentZ and endZ == pierceHeight) then
endX = tx
endY = ty
endZ = tz
return
end
end
OnRapid2()
endX = tx
endY = ty
endZ = tz
end
function OnRapid2()
--post.Text(" R2 ex = " .. endX .. " ey = " .. endY .. " ez = " .. endZ .. "\n")
currentX = rotaryVals.cx
currentY = rotaryVals.cy
currentZ = rotaryVals.cz
endY = sc.QueryDll(qryRAPIDY, endY, dllId)
endZ = rotaryVals.z-- + endZ --sc.QueryDll(qryGETZ, 0, dllId) + rotaryVals.z + endZ
endA = sc.QueryDll(qryGETA, 0, dllId)
DoRapid();
rotaryVals.cx = endX
rotaryVals.cy = endY
rotaryVals.cz = endZ
end
I’ve never seen that before. It looks like your ini file has been damaged somehow. It won’t do any harm but if you want to fix it go to Help->open settings folder. Send me a copy of the ini file and I’ll clean it up for you.