diff --git a/Essetre-90480023_XS-MW.mlde b/Essetre-90480023_XS-MW.mlde index c1822c2..2eba20b 100644 --- a/Essetre-90480023_XS-MW.mlde +++ b/Essetre-90480023_XS-MW.mlde @@ -75,6 +75,7 @@ DeltaTabZ = -1227.6497 CoeffVM = 0.5 OffsetH12X = 110 OffsetH12Z = 150 +ParkYScrapRemove = nil -- Aggiornamento con dati da TechnoEssetre7 local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480023_XS-MW.data" @@ -150,6 +151,7 @@ if EgtExistsFile( sData) then if MchOffs.OFFSET_ZERO6_Y then Orig6DeltaX = -MchOffs.OFFSET_ZERO6_Y end if MchOffs.OFFSET_ZERO6_X then Orig6DeltaY = MchOffs.OFFSET_ZERO6_X end if MchOffs.OFFSET_ZERO6_Z then Orig6DeltaZ = MchOffs.OFFSET_ZERO6_Z end + if MchOffs.PARK_Y_SCRAP_REMOVE then ParkYScrapRemove = MchOffs.PARK_Y_SCRAP_REMOVE end end end diff --git a/Essetre-WALL.NUM.mlpe b/Essetre-WALL.NUM.mlpe index d8d8517..81844d4 100644 --- a/Essetre-WALL.NUM.mlpe +++ b/Essetre-WALL.NUM.mlpe @@ -144,7 +144,7 @@ function OnDispositionEnd() if nLoad90 > 0 then nLoad90 = 4 else nLoad90 = 1 end EmtOutput( 'M26 E30054='..EgtNumToString( nLoad90, 0)) -- Posizione cuffia - local dHCuff = b3Raw:getDimZ() + 32 + local dHCuff = b3Raw:getDimZ() + 32 EmtOutput( 'E30039=' .. EgtNumToString( dHCuff * 1000, 0)) -- Eventuale salto a lavorazione in corso EmtOutput( 'G79 NE80000') @@ -239,8 +239,16 @@ function OnPathEnd() local dSafeZ = max( EgtGetMachiningParam( MCH_MP.STARTPOS), 10) or 20 --local dSafeZ = EgtMdbGetGeneralParam( MCH_GP.SAFEZ) if EMT.HEAD == 'H21' or EMT.HEAD == 'H22' or EMT.HEAD == 'H23' then + local nNextOperationId = EgtGetNextActiveOperation( EMT.MCHID) + if nNextOperationId then + EgtSetCurrMachining( nNextOperationId) + EMT.NEXTTOOL = EgtGetMachiningParam( MCH_MP.TOOL) + EgtSetCurrMachining( EMT.MCHID) + end + local sZMax = '' + if EMT.TOOL ~= EMT.NEXTTOOL then sZMax = ' EB1' end EmtOutput( 'G124 X'..EmtLenToString( EMT.NAIL_START_L1, 3)..' Y'..EmtLenToString( EMT.NAIL_START_L2, 3)..' Z'..EmtLenToString( EMT.NAIL_START_L3, 3).. - ' B'..EmtLenToString( EMT.NAIL_END_L1, 3)..' C'..EmtLenToString( EMT.NAIL_END_L2, 3)..' EA'..EmtLenToString( dStep, 3)..' EB1'.. + ' B'..EmtLenToString( EMT.NAIL_END_L1, 3)..' C'..EmtLenToString( EMT.NAIL_END_L2, 3)..' EA'..EmtLenToString( dStep, 3).. sZMax.. ' W'..EmtLenToString( dSafeZ, 3)..EMT.NAIL_END) else local sExtra = '' @@ -305,7 +313,7 @@ function OnRapid() if EMT.SCRAPFIRST then EMT.SCRAPFIRST = false local b3Raw = EgtGetRawPartBBox( EMT.RAWID) - local ParkY = min( -( b3Raw:getMin():getX() - 2000), -MinY) + local ParkY = ParkYScrapRemove or min( -( b3Raw:getMin():getX() - 2000), MinY) EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF()) end -- pre-posizionamento @@ -329,7 +337,7 @@ function OnRapid() EMT.SCRAPFIRST = false -- pausa per rimozione sfridi local b3Raw = EgtGetRawPartBBox( EMT.RAWID) - local ParkY = min( -( b3Raw:getMin():getX() - 2000), -MinY) + local ParkY = ParkYScrapRemove or min( -( b3Raw:getMin():getX() - 2000), MinY) EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF()) end end @@ -680,7 +688,7 @@ function CalcInterpPlane() while dAngO2 >= 360 do dAngO2 = dAngO2 - 360 end - dAngO = 0 + dAngO = 0 end local xOut = - ( yS - DeltaTabY) @@ -698,7 +706,8 @@ function CalcInterpPlane() end if IsNailingHead( EMT.HEAD) then - EMT.IPLGLSTR = ' EX'..EmtLenToString( xOut)..' EY'..EmtLenToString( yOut)..' EZ'..EmtLenToString( zOut) + local dHeightSubPiece = EMT.RAWPOS[3] or 0 + EMT.IPLGLSTR = ' EX'..EmtLenToString( xOut)..' EY'..EmtLenToString( yOut)..' EZ'..EmtLenToString( zOut + dHeightSubPiece) else EMT.IPLGLSTR = ' EX'..EmtLenToString( xOut)..' EY'..EmtLenToString( yOut)..' EZ'..EmtLenToString( zOut).. ' EA0'..' EB'..EgtNumToString( dAngV)..' EC'..EgtNumToString( dAngO)..' ED'..EgtNumToString( dAngO2)