diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 1bd41ec..369f6eb 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -235,16 +235,20 @@ end ------------------------------------------------------------------------------------------------------------- function BeamExec.CalcMinUnloadableRaw( dRawW, dRawH) - local H_S = 200 - local H_L = 400 - -- Determinazione minimo grezzo scaricabile - if dRawH <= H_S then - BD.MinRaw = BD.MINRAW_S - elseif dRawH <= H_L then - local Coeff = ( dRawH - H_S) / ( H_L - H_S) - BD.MinRaw = ( 1 - Coeff) * BD.MINRAW_S + Coeff * BD.MINRAW_L + if BD.GetMinUnloadableRaw then + BD.MinRaw = BD.GetMinUnloadableRaw( dRawW, dRawH) else - BD.MinRaw = BD.MINRAW_L + local H_S = 200 + local H_L = 400 + -- Determinazione minimo grezzo scaricabile + if dRawH <= H_S then + BD.MinRaw = BD.MINRAW_S + elseif dRawH <= H_L then + local Coeff = ( dRawH - H_S) / ( H_L - H_S) + BD.MinRaw = ( 1 - Coeff) * BD.MINRAW_S + Coeff * BD.MINRAW_L + else + BD.MinRaw = BD.MINRAW_L + end end end diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 1c6e827..bbff33f 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -1,4 +1,4 @@ --- BeamLib.lua by Egaltech s.r.l. 2020/09/17 +-- BeamLib.lua by Egaltech s.r.l. 2020/10/23 -- Libreria globale per Travi -- 2020/07/28 Corretto calcolo attacchi e uscite di lame per non uscire dalla faccia sotto. -- 2020/08/18 Aggiunto a GetNearestParalOpposite e GetNearestOrthoOpposite parametro opzionale vtNorm. @@ -11,6 +11,9 @@ require( 'EgtBase') EgtOutLog( ' BeamLib started', 1) +-- Dati +local BD = require( 'BeamData') + ------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------- function BeamLib.GetAddGroup( PartId) @@ -817,10 +820,12 @@ function BeamLib.MakeOneFaceBySaw( nSurfId, nFacet, sCutting, dSawDiam, Par5, dV -- posizione braccio EgtOutLog( 'vtN=' .. tostring( vtN) .. ' vtRef=' .. tostring( vtRef) .. ' vtOut=' .. tostring( vtOut) .. ' vtAux=' .. tostring( vtAux), 3) local nSCC = MCH_SCC.NONE - if abs( vtAux:getX()) > abs( vtAux:getY()) then - nSCC = EgtIf( ( vtAux:getX() > 0), MCH_SCC.ADIR_XP, MCH_SCC.ADIR_XM) - else - nSCC = EgtIf( ( vtAux:getY() > 0), MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) + if not BD.C_SIMM or vtRef:getZ() < 0.866 then + if abs( vtAux:getX()) > abs( vtAux:getY()) then + nSCC = EgtIf( ( vtAux:getX() > 0), MCH_SCC.ADIR_XP, MCH_SCC.ADIR_XM) + else + nSCC = EgtIf( ( vtAux:getY() > 0), MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) + end end -- inserisco la lavorazione di taglio local sName = 'Cut_' .. ( EgtGetName( nSurfId) or tostring( nSurfId)) .. '_' .. tostring( nFacet + 1) @@ -884,7 +889,11 @@ end ------------------------------------------------------------------------------------------------------------- function BeamLib.GetNzLimDownUp( b3Raw) - return EgtIf( b3Raw:getDimZ() < 200, -0.5, -0.258) + if not BD.C_SIMM then + return EgtIf( b3Raw:getDimZ() < 200, -0.5, -0.258) + else + return -0.484 + end end ------------------------------------------------------------------------------------------------------------- diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 5fe7c7b..2330bbb 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -1,4 +1,4 @@ --- ProcessCut.lua by Egaltech s.r.l. 2020/10/09 +-- ProcessCut.lua by Egaltech s.r.l. 2020/10/23 -- Gestione calcolo singoli tagli di lama per Travi -- Tabella per definizione modulo @@ -320,7 +320,7 @@ function ProcessCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom) local dVzLimDwnUp = dNzLimDwnUp if j ~= 1 then vtNewOrthoO = -vtOrthoO - dVzLimDwnUp = -0.707 + if not BD.C_SIMM then dVzLimDwnUp = -0.707 end end local bOk, sErr = BL.MakeOneFaceBySaw( vCuts[i][j], 0, sCutting, dSawDiam, vtNewOrthoO, dVzLimDwnUp, BD.CUT_EXTRA_MIN, BD.CUT_SIC, 0, 0, nil, b3Raw) if not bOk then diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 7c12c6f..6e43836 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -1,4 +1,4 @@ --- ProcessLapJoint.lua by Egaltech s.r.l. 2020/10/15 +-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/10/23 -- Gestione calcolo mezzo-legno per Travi -- 2019/10/08 Agg. gestione OpenPocket. @@ -2322,10 +2322,18 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo -- imposto uso faccia EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.ORTHO_CONT) -- imposto posizione braccio porta testa - if tvtN[2]:getY() < GEO.EPS_SMALL then - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM) + if not BD.C_SIMM then + if tvtN[2]:getY() < GEO.EPS_SMALL then + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM) + else + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) + end else - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) + if abs( tvtN[2]:getZ()) < 0.866 then + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_ZP) + else + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) + end end -- se tasca aperta e non lavorata col truciolatore, imposto opportuno attacco if sMchFind == 'OpenPocket' and nUseRoughTool == 0 then