DataBeam :

- corretta assegnazione fori cieca a fase ribaltata e non ruotata
- corretta gestione ruotato insieme con ribaltato senza lavorazioni subito dopo carico della barra.
This commit is contained in:
Dario Sassi
2020-05-25 08:28:01 +00:00
parent da7aa76d5c
commit 1e612fac4a
3 changed files with 46 additions and 15 deletions
+5 -5
View File
@@ -1,4 +1,4 @@
-- ProcessSplit.lua by Egaltech s.r.l. 2020/04/10
-- ProcessSplit.lua by Egaltech s.r.l. 2020/05/25
-- Gestione calcolo tagli di testa per Travi
-- Tabella per definizione modulo
@@ -22,7 +22,7 @@ end
---------------------------------------------------------------------
-- Applicazione della lavorazione
function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bNeedHCut)
-- ingombro del grezzo
local b3Raw = EgtGetRawPartBBox( nRawId)
-- recupero la lavorazione
@@ -48,14 +48,14 @@ function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
local bDoubleCut = ( not bHorizCut and b3Raw:getDimY() > dDimYRef + 10 * GEO.EPS_SMALL)
-- dati geometrici del taglio
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
-- se coincide con inizio grezzo, non va fatto
if AreSameVectorApprox( vtN, X_AX()) and abs( ptC:getX() - b3Raw:getMax():getX()) < 10 * GEO.EPS_SMALL then
-- se non obbligatorio e coincide con inizio grezzo, non va fatto
if not bNeedHCut and AreSameVectorApprox( vtN, X_AX()) and abs( ptC:getX() - b3Raw:getMax():getX()) < 10 * GEO.EPS_SMALL then
return true
end
-- flag di lavorazione faccia
local nOrthoOpposite = EgtIf( bHorizCut, MCH_MILL_FU.ORTHO_DOWN, MCH_MILL_FU.ORTHO_FRONT)
-- determino se più tagli con offset
local nCuts = ceil( dOvmHead / BD.MAX_LEN_SCRAP)
local nCuts = max( ceil( dOvmHead / BD.MAX_LEN_SCRAP), 1)
local dOffsL = dOvmHead / nCuts
-- calcolo extra taglio ed accorciamento
local dCutExtra = 0