-ProcessCut: ora nelle lavorazioni laterali, se viene lasciato il cordolo, non si aggiorna il grezzo -ProcessLongCut: ora la lama sotto viene attivata per facce poco più che verticali -mancano dei dettagli da sistemare e i commenti
This commit is contained in:
+11
-5
@@ -249,17 +249,21 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b
|
||||
Proc.Box:getDimY() > b3Solid:getDimY() - 10 * GEO.EPS_SMALL and
|
||||
( Proc.Box:getDimX() > 0.75 * b3Solid:getDimX() or Proc.Box:getDimX() > 600.000))
|
||||
-- verifico se da considerare taglio lungo dal lato, solo per macchine tipo PF1250, inclinato non più di 30deg
|
||||
local bLongCutFromSide = ( not bDownCut and ( BD.C_SIMM and BD.DOWN_HEAD and ( vtN:getY() > 0.865 or vtN:getY() < -0.865) and
|
||||
local bLongCutFromSide = ( not bDownCut and ( BD.C_SIMM and BD.DOWN_HEAD and ( abs(vtN:getY()) > 0.865) and
|
||||
Proc.Box:getDimZ() > b3Solid:getDimZ() - 10 * GEO.EPS_SMALL) and
|
||||
( Proc.Box:getDimX() > 0.75 * b3Solid:getDimX() or Proc.Box:getDimX() > 600.000))
|
||||
-- se taglio lungo e Q04 = 1 allora lancio il processo dell'L10
|
||||
local bNoDicing = EgtGetInfo( Proc.Id, 'Q04', 'i') == 1
|
||||
if bNoDicing then
|
||||
if bLongCut then
|
||||
return LongCut.Make( Proc, nPhase, nRawId, nPartId, true)
|
||||
local bOk, sErr = LongCut.Make( Proc, nPhase, nRawId, nPartId, true)
|
||||
return bOk, sErr, bNoDicing
|
||||
elseif bLongCutFromSide then
|
||||
return LongCut.Make( Proc, nPhase, nRawId, nPartId, false, 2)
|
||||
local bOk, sErr = LongCut.Make( Proc, nPhase, nRawId, nPartId, false, 2)
|
||||
return bOk, sErr, bNoDicing
|
||||
end
|
||||
-- se non passa dal LongCut rimetto a false perchè ha fatto un taglio standard
|
||||
bNoDicing = false
|
||||
end
|
||||
-- se pezzo ancora attaccato alla trave, per non rovinare quello successivo
|
||||
local bFillAreaPiece
|
||||
@@ -737,9 +741,11 @@ function ProcessCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom,
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
local bNoDicing = false
|
||||
-- se taglio con testa da sopra
|
||||
if not bDownHead and not bDownTurn then
|
||||
local bOk, sErr = MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom, bCustDiceCut, bForced, b3Raw, sNotes)
|
||||
local bOk, sErr, bNoDicing2 = MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom, bCustDiceCut, bForced, b3Raw, sNotes)
|
||||
bNoDicing = bNoDicing2
|
||||
if not bOk then return false, sErr end
|
||||
-- altrimenti taglio con testa da sotto
|
||||
else
|
||||
@@ -747,7 +753,7 @@ function ProcessCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom,
|
||||
if not bOk then return false, sErr end
|
||||
end
|
||||
-- Aggiornamento ingombro (se vero taglio o richiesto)
|
||||
if ProcessCut.Identify( Proc) or bUpdateIng then
|
||||
if ( ProcessCut.Identify( Proc) or bUpdateIng) and not bNoDicing then
|
||||
UpdateEncumbrance( Proc, vtN, dOvmHead, nRawId, b3Solid, b3Raw)
|
||||
end
|
||||
return true
|
||||
|
||||
@@ -436,8 +436,8 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus
|
||||
if ( nSide == -1 or abs(nSide) == 2) and vtN:getZ() <= -0.5 then
|
||||
bCanUseUnderBlade = true
|
||||
end
|
||||
-- se faccia da sotto o di lato ma con versore Z negativo abilito la lavorazione con lame mixate
|
||||
if ( nSide == -1 or abs(nSide) == 2) and vtN:getZ() <= -0.0175 then
|
||||
-- se faccia da sotto o di lato ma con versore Z sotto l'orizzontale abilito la lavorazione con lame mixate
|
||||
if ( nSide == -1 or abs(nSide) == 2) and vtN:getZ() <= 0.0175 then
|
||||
bCanUseUnderBlade = true
|
||||
end
|
||||
-- se faccia da sopra o di lato ma con versore Z negativo verifico che abbia un angolo compatibile (28deg) per non avere extracorsa
|
||||
|
||||
Reference in New Issue
Block a user