Corretto pinzaggio in caso sia in presa una sola pinza
This commit is contained in:
+16
-11
@@ -643,6 +643,9 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
return ( dPrev == nil and dNext == nil) or ( dPrev ~= nil and dNext ~= nil)
|
||||
end
|
||||
|
||||
-- in caso di pinzaggio singolo, mi salvo intervallo minimo e massimo
|
||||
local dX1DeltaMin, dX1DeltaMax = dX1DeltaCurrMach, dX1DeltaCurrMach
|
||||
local dX2DeltaMin, dX2DeltaMax = dX2DeltaCurrMach, dX2DeltaCurrMach
|
||||
local nNextMchId = EgtGetNextActiveOperation( EMC.MCHID)
|
||||
local bUseSameClampingConfig = true
|
||||
while nNextMchId and EgtGetOperationType( nNextMchId) ~= MCH_OY.DISP and bUseSameClampingConfig do
|
||||
@@ -678,9 +681,9 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
if dNextNewX2Delta and dX2DeltaCurrMach and ( InfoUserNotes.bPreSplit or InfoUserNotes.bSplitting) then
|
||||
local dLastX2Delta = min( dX2DeltaCurrMach, dNextNewX2Delta)
|
||||
-- controllo che si riesca a scaricare restando nelle corse
|
||||
if ( b3Raw:getDimX() - dLastX2Delta - UnloadT) + MinX2 > -100 then
|
||||
bUseSameClampingConfig = false
|
||||
bUnloadIsOk = false
|
||||
if ( b3Raw:getDimX() - dLastX2Delta - UnloadT) + MinX2 > -100 then
|
||||
bUseSameClampingConfig = false
|
||||
bUnloadIsOk = false
|
||||
end
|
||||
end
|
||||
|
||||
@@ -699,8 +702,9 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
-- se in presa solo pinza 1
|
||||
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
|
||||
if ( dX1DeltaMax - dNextNewX1Delta) < CLAMP_MAXDIST_1CLAMP and ( dNextNewX1Delta - dX1DeltaMin) < CLAMP_MAXDIST_1CLAMP then
|
||||
dX1DeltaMax = max( dX1DeltaMax, dNextNewX1Delta)
|
||||
dX1DeltaMin = min( dX1DeltaMin, dNextNewX1Delta)
|
||||
dDistBack = min( dDistBack, dNextDistBack)
|
||||
bUseSameClampingConfig = true
|
||||
else
|
||||
@@ -709,8 +713,9 @@ function SpecApplyPath( bPreSplit, bSplitting, bPreCut, bCutting, bUnload, bPreR
|
||||
-- se in presa solo pinza 2
|
||||
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
|
||||
if ( dX2DeltaMax - dNextNewX2Delta) < CLAMP_MAXDIST_1CLAMP and ( dNextNewX2Delta - dX2DeltaMin) < CLAMP_MAXDIST_1CLAMP then
|
||||
dX2DeltaMax = max( dX2DeltaMax, dNextNewX2Delta)
|
||||
dX2DeltaMin = min( dX2DeltaMin, dNextNewX2Delta)
|
||||
dDistFront = min( dDistFront, dNextDistFront)
|
||||
bUseSameClampingConfig = true
|
||||
else
|
||||
@@ -1002,6 +1007,8 @@ function GetFinalCutPmax( nMchId)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- TODO FUNZIONE DA RIVEDERE
|
||||
-- il calcolo ingombro non deve essere a casi, ma calcolato preciso con intersezione di solidi
|
||||
function SpecCalcEncumbrance( vtTool, vtArm, vtAux, ptMin, ptMax, bSaw, bChain, dTLen, dTDiam, dTDist)
|
||||
-- Quota in Z dal punto di inclinazione dei carrelli
|
||||
local dCompZ = sqrt( 1 - vtTool:getZ() * vtTool:getZ())
|
||||
@@ -1200,6 +1207,8 @@ function SpecCalcEncumbrance( vtTool, vtArm, vtAux, ptMin, ptMax, bSaw, bChain,
|
||||
EgtOutLog( ' DistFront=' .. EgtNumToString( dDistFront) .. ' DistBack=' .. EgtNumToString( dDistBack) ..
|
||||
' HeadFront=' .. EgtNumToString( dHeadFront) .. ' HeadBack=' .. EgtNumToString( dHeadBack), 3)
|
||||
-- Restituisco ingombri effettivi
|
||||
dHeadFront = dHeadFront + 30
|
||||
dHeadBack = dHeadBack + 30
|
||||
return ( dDistFront - dHeadFront), ( dDistBack - dHeadBack)
|
||||
end
|
||||
|
||||
@@ -1533,10 +1542,6 @@ function GetCarriagesRepositioningCmd( vCmd, dTPosI, dX1DeltaI, dX2DeltaI, dTPos
|
||||
local dX1PosA, dX2PosA, dTPosA
|
||||
local dGainOnReclamping = BD.GAIN_RECLAMPING or 1000
|
||||
|
||||
if EMC.MCHID == 10175 then
|
||||
ciao = 5
|
||||
end
|
||||
|
||||
-- se primo scambio
|
||||
local MyMinX1 = MinX1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user