diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index de5c5ba..3cc90c3 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -20,6 +20,7 @@ -- 2023/01/26 Migliorata la direzione di lavoro della lama in alcuni casi in cui il truciolo veniva scaricato dal lato errato. -- 2023/06/19 Aggiunti tagli speciali per evitare il rischio che il cubetto rimanga appoggiato al motore. -- 2023/08/01 Correzione su offset per taglio doppio di lato. +-- 2023/08/01 In caso di pezzi alti su macchina tipo PF i tagli doppi di lato non vengono usati, si usa il metodo standard. -- Tabella per definizione modulo local ProcessCut = {} @@ -405,7 +406,7 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b if nFirstPerpendicularCut then local frFace = BL.GetFaceHvRefDim( Proc.Id, 0) local vtTemp = EgtSurfTmFacetNormVersor( nFirstPerpendicularCut, 0, GDB_ID.ROOT) ^ frFace:getVersX() - if not ( vtTemp:isSmall()) and not ( bDownCut or bFromBottom) and not bLongCut then + if not ( vtTemp:isSmall()) and not ( bDownCut or bFromBottom) and not bLongCut and ( not BD.C_SIMM or b3Raw:getDimZ() < BD.MIN_DIM_HBEAM + 10 * GEO.EPS_SMALL) then bDangerousReliefCut = true end end diff --git a/LuaLibs/ProcessHeadCut.lua b/LuaLibs/ProcessHeadCut.lua index 8a486cb..b20e046 100644 --- a/LuaLibs/ProcessHeadCut.lua +++ b/LuaLibs/ProcessHeadCut.lua @@ -7,6 +7,7 @@ -- 2022/11/02 Corretti accorciamenti per DoubleCut -- 2022/11/10 Corrette finiture lama per BigSection con trave alta -- 2023/04/20 Per travi alte aggiunti tagli orizzontali per ridurre le dimensioni degli scarti +-- 2023/08/02 Corretto calcolo allungamenti/accorciamenti pezzi alti per contemplare anche taglio singolo -- Tabella per definizione modulo local ProcessHeadCut = {} @@ -263,7 +264,9 @@ function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bNeedHCut else dCutExtra = - ( b3Raw:getDimY() - dMaxDepth) local dSawRad = dSawDiam / 2 - local dKL = dSawRad - dMaxDepth + b3Raw:getDimY() / 2 + BD.CUT_EXTRA_MIN + -- distanza in Y tra il centro della lama e l'intersezione tra la lama stessa e la massima Z della trave, + extra + -- se taglio doppio l'intersezione sarà in mezzeria, se taglio singolo sarà all'estremo opposto della trave + local dKL = dSawRad - dMaxDepth + EgtIf( bDoubleCut, b3Raw:getDimY() / 2 + BD.CUT_EXTRA_MIN, b3Raw:getDimY() + BD.CUT_EXTRA) if BD.C_SIMM then dAccEnd = sqrt( dSawRad * dSawRad - dKL * dKL) else diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index f554442..3e25f38 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -70,6 +70,8 @@ -- 2023/06/29 Se forzata lavorazione laterale permetto l'uso del truciolatore solo se non è una tasca chiusa. -- 2023/07/19 Correzioni e modifiche ad antischeggia con lama (#1351). -- 2023/08/01 Aggiunta gestione rinvio angolare solo per tasche 5 lati, da sotto e perfettamente verticali. +-- 2023/08/02 Piccola correzione al calcolo della distanza di sicurezza in base al gambo dell'utensile. +-- 2023/08/02 Corretto incremento della profondità pari al raggio utensile per tunnel con sega a catena. -- Tabella per definizione modulo local ProcessLapJoint = {} @@ -4596,13 +4598,12 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa dDepth = dDepth / 2 + BD.CUT_EXTRA end end - local dWorkDepth = dDepth - -- cerco di estendere il taglio considerando la parte arrotondata della lama + 1 + local dWorkDepth = dMaxMat + -- cerco di estendere il taglio considerando la parte arrotondata della lama if dMaxMat > dDepth + dSawCornerRad + 1 then dWorkDepth = dDepth + dSawCornerRad + 1 -- se massimo affondamento utensile inferiore alla profondità da lavorare, setto la profondità di lavoro e emetto warning elseif dMaxMat < dDepth then - dWorkDepth = dMaxMat sWarn = 'Warning : elevation bigger than max tool depth' EgtOutLog( sWarn) end @@ -5425,7 +5426,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa local dMachiningDepth = 0 -- se il gambo è più largo dell'utensile verifico se la lunghezza del gambo è maggiore della distanza di sicurezza calcolata local dShankLength = dToolTotalLength - dToolThLength - dMaxToolCutDepth - if ( dMaxToolCutDepth < dMaxToolMaterial + 10 * GEO.EPS_SMALL) and ( dShankLength > dCollSic + 10 * GEO.EPS_SMALL) then + if ( dMaxToolCutDepth < dMaxToolMaterial - 10 * GEO.EPS_SMALL) and ( dShankLength > dCollSic + 10 * GEO.EPS_SMALL) then dMachiningDepth = dFacElev + BD.COLL_SIC else dMachiningDepth = dFacElev + dCollSic diff --git a/LuaLibs/ProcessSplit.lua b/LuaLibs/ProcessSplit.lua index 3a02d19..5a8fa5f 100644 --- a/LuaLibs/ProcessSplit.lua +++ b/LuaLibs/ProcessSplit.lua @@ -12,6 +12,7 @@ -- 2023/04/20 Per travi alte aggiunti tagli orizzontali per ridurre le dimensioni degli scarti. -- 2023/05/09 Aggiunta richiesta risalita preliminare a Zmax per tagli da sopra su macchine PF e ONE. -- 2023/06/13 Corrette note Precut e Cut per tagli aggiuntivi orizzontali. +-- 2023/08/02 Corretto calcolo allungamenti/accorciamenti pezzi alti per contemplare anche taglio singolo. -- Tabella per definizione modulo local ProcessSplit = {} @@ -467,7 +468,9 @@ function ProcessSplit.Make( Proc, nPhase, nRawId, nPartId, nOrd, sDownOrSideOrSt else dCutExtra = - ( b3Raw:getDimY() - dMaxDepth) local dSawRad = dSawDiam / 2 - local dKL = dSawRad - dMaxDepth + b3Raw:getDimY() / 2 + BD.CUT_EXTRA_MIN + -- distanza in Y tra il centro della lama e l'intersezione tra la lama stessa e la massima Z della trave, + extra + -- se taglio doppio l'intersezione sarà in mezzeria, se taglio singolo sarà all'estremo opposto della trave + local dKL = dSawRad - dMaxDepth + EgtIf( bDoubleCut, b3Raw:getDimY() / 2 + BD.CUT_EXTRA_MIN, b3Raw:getDimY() + BD.CUT_EXTRA) if BD.C_SIMM then dAccEnd = sqrt( max( dSawRad * dSawRad - dKL * dKL, 0)) else diff --git a/UpdateLog.txt b/UpdateLog.txt index cc08c13..1387999 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,11 @@ ==== Beam Update Log ==== +Versione 2.5g4 (07/08/2023) +- Fixed : tagli doppi di lato non effettuati se macchina tipo PF e pezzo alto [Ticket #1400] +- Fixed : in split e headcut corretto calcolo allungamenti/accorciamenti pezzi alti per contemplare anche taglio singolo [Ticket #1227] +- Fixed : in lapjoint piccola correzione al calcolo della distanza di sicurezza in base al gambo dell'utensile [Ticket #1227] +- Fixed : in Lapjoint corretto incremento della profondità pari al raggio utensile per tunnel con sega a catena [Ticket #1212] + Versione 2.5g3 (01/08/2023) - Added : aggiunta gestione tasche chiuse ad orientamento verticale con rinvio angolare [Ticket #1333] - Modif : in LongCut ammesso uso lama da sotto fino a Norm +3deg in verticale diff --git a/Version.lua b/Version.lua index 2d0648f..ac3c840 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '2.5g3' +VERSION = '2.5g4' MIN_EXE = '2.5c1'