diff --git a/LuaLibs/WProcessDrill.lua b/LuaLibs/WProcessDrill.lua index 6eafa77..4e7c1a3 100644 --- a/LuaLibs/WProcessDrill.lua +++ b/LuaLibs/WProcessDrill.lua @@ -455,7 +455,7 @@ function WPD.Make( Proc, nRawId, b3Raw, bUseMultiDrill, DrillingsToAvoid) end EgtSetInfo( nMchId, 'Part', Proc.PartId) -- se foratura di fianco setto la nota per spostarla dopo i tagli di lama - if vtExtr:getZ() < WD.NZ_MINA and not sHead then + if vtExtr:getZ() < WD.NZ_MINA and not Proc.AffectedFaces.Top and not sHead then EgtSetInfo( nMchId, 'MOVE_AFTER', 1) end -- aggiungo geometria diff --git a/LuaLibs/WProcessLapJoint.lua b/LuaLibs/WProcessLapJoint.lua index 60fecd7..a3363e8 100644 --- a/LuaLibs/WProcessLapJoint.lua +++ b/LuaLibs/WProcessLapJoint.lua @@ -1367,7 +1367,7 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist) if not sMilling then local sErr = 'Error : Side not found in library' EgtOutLog( sErr) - return false, sErr, true + return false, sErr end -- recupero i dati dell'utensile local dMillDiam = 20 @@ -1390,13 +1390,13 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist) if dMillDiam < dDiam or dMaxDepth < dElev then local sErr = 'Error : Side Elevation too big' EgtOutLog( sErr) - return false, sErr, true + return false, sErr end local dMillExtra = dMillTotLen - dMillLen if Proc.Box:getMin():getZ() - dMillExtra < b3Raw:getMin():getZ() - 10 * GEO.EPS_SMALL then local sErr = 'Error : Tool collide with table' EgtOutLog( sErr) - return false, sErr, true + return false, sErr end -- inserisco la lavorazione di contornatura local sName = 'Mill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) @@ -1453,7 +1453,7 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist) if not EgtApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() EgtSetOperationMode( nMchFId, false) - return false, sErr + return false, sErr, nMchFId end return true end @@ -2296,6 +2296,13 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d EgtOutLog( sErr) return false, sErr end + + local _, nUseMillOnSide = EvaluateQParam( Proc) + if nUseMillOnSide and nUseMillOnSide < 2 and ( Proc.Fct > 3 or ( Proc.Fct == 3 and not Proc.IsThrough)) then + sWarn = 'Warning in LapJoint : Sidemill damage finished part' + EgtOutLog( sWarn) + end + return true, sWarn end @@ -2797,8 +2804,11 @@ local function MakeTwoFaces( Proc, nRawId, b3Raw) bLikeAsMakeFirstGroove = false return MakeSideGrooveByMill( Proc, nFacetVert, nRawId, b3Raw, EgtIf( bEnableMillOnSide and dMaxDepthOnSide, sMillOnSide, nil), dMaxDepthOnSide, bMakeFirstGroove, bMachFromDn, dAng, bLikeAsMakeFirstGroove, nil, nil, bDoubleMillOnSide) else - local bOk, sErr, bSideMachiningNotFound = MakeByMill( Proc, nFacet, 1 - nFacet, nRawId, b3Raw, dSideDist) - if not bOk and bSideMachiningNotFound then + local bOk, sErr, nInvalidMachId = MakeByMill( Proc, nFacet, 1 - nFacet, nRawId, b3Raw, dSideDist) + if not bOk then + if nInvalidMachId then + EgtRemoveOperation( nInvalidMachId) + end bOk, sErr = MakeByPocketing( Proc, nFacet, nRawId, b3Raw) end -- se angolo ottuso riprendo il lato quasi verticale @@ -2881,7 +2891,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw) local nFacInd, dElev, nFacInd2, dElev2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId) -- se necessario scambio le facce local bIsGroove3Blind = Proc.Fct == 3 and Proc.Topology == 'Groove' and not Proc.IsThrough - local bPreferSidemill = ( nUseMillOnSide >= 1) + local bPreferSidemill = ( nUseMillOnSide > 1) if Proc.Stype == 2 or ( bPreferSidemill and bIsGroove3Blind) then nFacInd, dElev, nFacInd2, dElev2 = nFacInd2, dElev2, nFacInd, dElev end diff --git a/UpdateLog.txt b/UpdateLog.txt index 5745304..bb3b091 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Wall Update Log ==== +Versione 3.1h1 (18/08/2026) +- Modif : fori inclinati più meno di 28° ora gestiti anche come fori non di testa +- Modif : Q08=1 solo L e U aperte, Q08=2 tutte le tasche +- Modif : in LapJoint, se lavorazione Side non fattibile o non trovata si prova sempre la svuotatura + Versione 3.1f2 (25/06/2026) - Modif : Ora si accettano offset in negativo per posizionamento pezzo su tavola - Modif : Il Q09 aggiunto in versione 3.1f1 viene sostituito con il parametro da OFFSET -> USE_CONVENTIONAL_SAWING diff --git a/Version.lua b/Version.lua index de2127c..32e5c36 100644 --- a/Version.lua +++ b/Version.lua @@ -1,6 +1,6 @@ --- Version.lua by Egalware s.r.l. 2026/03/30 +-- Version.lua by Egalware s.r.l. 2026/08/18 -- Gestione della versione di Wall NAME = 'Wall' -VERSION = '3.1f2' -MIN_EXE = '3.1c1' +VERSION = '3.1h1' +MIN_EXE = '3.1d1'