- Corretto calcolo scarico pezzo per rotazione
- Corretto mancato aggiornamento posizione carrelli in caso di raggruppamento di più lavorazioni
This commit is contained in:
+6
-2
@@ -691,6 +691,8 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
-- se entrambe le morse in presa
|
||||
if dX1DeltaCurrMach and dX2DeltaCurrMach then
|
||||
if ( ( max( dX1DeltaCurrMach, dNextNewX1Delta) - min( dX2DeltaCurrMach, dNextNewX2Delta)) < CLAMP_MAXDIST_2CLAMP) then
|
||||
if dNextNewX1Delta > dX1DeltaCurrMach then dX1DeltaCurrMach = dNextNewX1Delta end
|
||||
if dNextNewX2Delta < dX2DeltaCurrMach then dX2DeltaCurrMach = dNextNewX2Delta end
|
||||
dDistFront = min( dDistFront, dNextDistFront)
|
||||
dDistBack = min( dDistBack, dNextDistBack)
|
||||
bUseSameClampingConfig = true
|
||||
@@ -701,6 +703,7 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
elseif dX1DeltaCurrMach then
|
||||
-- se la posizione richiesta della pinza non è oltre la posizione attuale e non sono troppo distante, prendo valori vecchi
|
||||
if ( dNextNewX1Delta - dX1DeltaCurrMach) > 0 - 100 * GEO.EPS_SMALL and ( dNextNewX1Delta - dX1DeltaCurrMach) < CLAMP_MAXDIST_1CLAMP then
|
||||
if dNextNewX1Delta > dX1DeltaCurrMach then dX1DeltaCurrMach = dNextNewX1Delta end
|
||||
dDistBack = min( dDistBack, dNextDistBack)
|
||||
bUseSameClampingConfig = true
|
||||
else
|
||||
@@ -710,6 +713,7 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
elseif dX2DeltaCurrMach then
|
||||
-- se la posizione richiesta della pinza non è oltre la posizione attuale e non sono troppo distante, prendo valori vecchi
|
||||
if ( dX2DeltaCurrMach - dNextNewX2Delta) > 0 - 100 * GEO.EPS_SMALL and ( dX2DeltaCurrMach - dNextNewX2Delta) < CLAMP_MAXDIST_1CLAMP then
|
||||
if dNextNewX2Delta < dX2DeltaCurrMach then dX2DeltaCurrMach = dNextNewX2Delta end
|
||||
dDistFront = min( dDistFront, dNextDistFront)
|
||||
bUseSameClampingConfig = true
|
||||
else
|
||||
@@ -1491,12 +1495,12 @@ function SpecCalcPreRot()
|
||||
local nLastEntId = EgtGetLastInGroup( EMC.PATHID)
|
||||
local vAxes = EmtGetAxesPos( nLastEntId)
|
||||
if #vAxes > 0 then EMC.TPOS = vAxes[1] end
|
||||
local dX1CurrPos = EgtIf( EMC.X1DELTA, EMC.X1DELTA, MinX1 - EMC.TPOS)
|
||||
local dX1CurrPos = EgtIf( EMC.X1DELTA, EMC.X1DELTA, nil)
|
||||
local dX1LastPos = min ( MaxX1 - LoadT, EMC.X2DELTA + ( MinX1 - MaxX2))
|
||||
EMC.X1DELTANEXT = dX1LastPos
|
||||
EMC.X2DELTANEXT = nil
|
||||
-- effettuo scambio
|
||||
vCmdPre = GetCarriagesRepositioningCmd( vCmdPre, EMC.TPOS, nil, EMC.X2DELTA, nil, dX1LastPos, nil)
|
||||
vCmdPre = GetCarriagesRepositioningCmd( vCmdPre, EMC.TPOS, dX1CurrPos, EMC.X2DELTA, nil, dX1LastPos, nil)
|
||||
-- recupero nuova posizione carrelli
|
||||
SpecSetCarrPosFromCmds( vCmdPre)
|
||||
EgtOutLog( ' *[PR1]', 1)
|
||||
|
||||
Reference in New Issue
Block a user