diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 9491131..25abe42 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -221,6 +221,9 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, vBeam, bMachGroup -- aggiorno grezzo precedente nPrevRaw = nRaw dPrevDelta = Delta + else + local sOut = 'Error: part L(' .. EgtNumToString( PartLen, 1) .. ') too big for raw part L(' .. EgtNumToString( Len - 0.1, 1) .. ')' + return false, sOut end -- se rimasto troppo poco grezzo, esco --if Len < BD.MinRaw then break end diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 78d3833..67225b6 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -178,7 +178,7 @@ end --------------------------------------------------------------------- local function TestElleShape3( Proc, bNotProc) - -- se non passat il Proc vero e proprio + -- se non passato il Proc vero e proprio local nNumFacet local nProcId if bNotProc then @@ -3317,8 +3317,10 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo end if sMchFind == 'OpenPocket' and dDiamTool < 90 then local _, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFaceRef, GDB_ID.ROOT) - if min( dH, dV) < 1.5 * dDiamTool then + local bL = ( Proc.Fct < 4 or TestElleShape4( Proc) == 2) + if bL and min( dH, dV) < 1.5 * dDiamTool then EgtSetMachiningParam( MCH_MP.SUBTYPE, MCH_POCK_SUB.ZIGZAG) + EgtSetMachiningParam( MCH_MP.INVERT, false) EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX) EgtSetMachiningParam( MCH_MP.LITANG, dDiamTool) EgtSetMachiningParam( MCH_MP.LIELEV, 2) diff --git a/LuaLibs/ProcessTenon.lua b/LuaLibs/ProcessTenon.lua index f756368..7922b7f 100644 --- a/LuaLibs/ProcessTenon.lua +++ b/LuaLibs/ProcessTenon.lua @@ -1,6 +1,7 @@ --- ProcessTenon.lua by Egaltech s.r.l. 2021/10/04 +-- ProcessTenon.lua by Egaltech s.r.l. 2022/02/15 -- Gestione calcolo tenone per Travi -- 2021/10/04 Corretto calcolo HCING per pezzi piccoli. +-- 2022/02/15 Aggiornata VerifyOrientation per macchine con testa da sotto. -- Tabella per definizione modulo local ProcessTenon = {} @@ -19,6 +20,10 @@ local ML = require( 'MachiningLib') --------------------------------------------------------------------- local function VerifyOrientation( Proc, vtN, b3Raw) + -- se PF con testa da sotto, ammessa qualunque orientazione + if BD.C_SIMM and BD.DOWN_HEAD then + return true + end -- se trave molto bassa if b3Raw:getDimZ() <= 120 then -- se tenone praticamente in asse, accetto fino a -45 deg