ProcessCut.Classify - Aggiunta Q18 che evita che la trave ruoti in caso di taglio di testa se la dimensione del taglio richiede dicecut.
This commit is contained in:
@@ -63,6 +63,7 @@ function ProcessCut.Classify( Proc, b3Raw)
|
||||
if ( BD.C_SIMM and BD.DOWN_HEAD) or BD.TURN then
|
||||
return true
|
||||
end
|
||||
local bForceNoBeamRotation = EgtGetInfo( Proc.Id, 'Q18', 'd') or 0 == 1
|
||||
-- recupero i dati del taglio
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
-- calcolo le massime estensioni lineari orizzontale e verticale della faccia
|
||||
@@ -73,7 +74,7 @@ function ProcessCut.Classify( Proc, b3Raw)
|
||||
then
|
||||
-- confronto queste estensioni con la massima dimensione del DiceCut (impossibile lavorare se entrambe maggiori)
|
||||
if DimH > BD.MAX_DIM_DICE + 100 * GEO.EPS_SMALL and DimV > BD.MAX_DIM_DICE + 100 * GEO.EPS_SMALL then
|
||||
return true, true
|
||||
return true, not bForceNoBeamRotation
|
||||
end
|
||||
end
|
||||
-- se è un taglio da sotto, lo verifico
|
||||
@@ -96,7 +97,7 @@ function ProcessCut.Classify( Proc, b3Raw)
|
||||
_, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, 0)
|
||||
-- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli oppure se tipo PF, taglio inclinato in Y e non taglio singolo orizzontale)
|
||||
if DimH > 2 * BD.MAX_DIM_DICE or ( BD.C_SIMM and ( abs( vtN:getY()) > 0.1) and dMaxMat < DimH + BD.CUT_EXTRA) then
|
||||
return true, true
|
||||
return true, not bForceNoBeamRotation
|
||||
end
|
||||
end
|
||||
return true, false
|
||||
|
||||
Reference in New Issue
Block a user