diff --git a/LuaLibs/WProcessLapJoint.lua b/LuaLibs/WProcessLapJoint.lua index cbc4541..673b238 100644 --- a/LuaLibs/WProcessLapJoint.lua +++ b/LuaLibs/WProcessLapJoint.lua @@ -2043,6 +2043,7 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d if nSinglePass == 1 then EgtSetMachiningParam( MCH_MP.DEPTH, dMaxMat) end + dMaxElev = dMaxMat end if bUpwardMilling then dStep = -dStep @@ -2073,8 +2074,8 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d bInvert = not bIsToolCcw nWorkside = bIsToolCcw and MCH_MILL_WS.RIGHT or MCH_MILL_WS.LEFT end - EgtSetMachiningParam(MCH_MP.INVERT, bInvert) - EgtSetMachiningParam(MCH_MP.WORKSIDE, nWorkside) + EgtSetMachiningParam( MCH_MP.INVERT, bInvert) + EgtSetMachiningParam( MCH_MP.WORKSIDE, nWorkside) -- setto offset radiale per gestire le eventuali passate in orizzontale local dRadialOffset = dSideStep * ( nSideStep - i) EgtSetMachiningParam( MCH_MP.OFFSR, dRadialOffset) @@ -2902,6 +2903,8 @@ end --------------------------------------------------------------------- local function MakeMoreFaces( Proc, nRawId, b3Raw) + -- recupero parametri Q + local _, nUseMillOnSide = EvaluateQParam( Proc) -- con una faccia di fondo valida if Proc.Stype == 1 or Proc.Stype == 2 then -- recupero eventuale flag forzatura svuotatura @@ -2909,7 +2912,9 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw) -- cerco la faccia con il maggior numero di adiacenze local nFacInd, dElev, nFacInd2, dElev2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId) -- se necessario scambio le facce - if Proc.Stype == 2 then + local bIsGroove3Blind = Proc.Fct == 3 and Proc.Topology == 'Groove' and not Proc.IsThrough + local bPreferSidemill = ( nUseMillOnSide >= 1) + if Proc.Stype == 2 or ( bPreferSidemill and bIsGroove3Blind) then nFacInd, dElev, nFacInd2, dElev2 = nFacInd2, dElev2, nFacInd, dElev end local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nFacInd, GDB_ID.ROOT) @@ -2917,7 +2922,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw) local dMaxSlotThicknessForBlade = 19 local bIsSmallSlot = ( Proc.Fct == 3 and ( min( dH, dV) < dMaxSlotThicknessForBlade - 10 * GEO.EPS_SMALL) and ( vtN:getZ() > -0.01)) -- se di fianco - if not bPckt and Proc.Fct >= 3 and ( ( vtN:getZ() < WD.NZ_MINA) or bIsSmallSlot) then + if not bPckt and Proc.Fct >= 3 and ( ( bPreferSidemill and bIsGroove3Blind) or ( vtN:getZ() < WD.NZ_MINA) or bIsSmallSlot) then -- recupero elevazione faccia in feature local dSideElev = WL.GetFaceElevation( Proc.Id, nFacInd) -- se abilitata lavorazione ribasso con fresa di fianco e parametro Q03 abilitato @@ -2933,7 +2938,6 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw) sMillOnSide = sMillOnSideBackup end end - local _, nUseMillOnSide = EvaluateQParam( Proc) -- se ho abilitata lavorazione di fresa di fianco if Proc.Fct >= 3 and sMillOnSide and nUseMillOnSide >= 1 and not bIsSmallSlot then -- cerco nei parametri utensili la nota di affondamento di fianco SIDEDEPTH diff --git a/UpdateLog.txt b/UpdateLog.txt index e9e9258..41c98b0 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,9 @@ ==== Wall Update Log ==== +Versione 2.7k1 (20/11/2025) +- Modif : in LapJoint con Q08=1 ora si fanno con milling anche tasche a L cieche da sopra +- Fixed : in LapJoint correzione alle lavorazioni inclinate + Versione 2.7j2 (21/10/2025) - Modif : in LapJoint i percorsi dei truciolatori sono sempre in concordanza a meno di forzature con apposito flag macchina - Modif : in PanelSaw migliorata l'esportazione Cutty diff --git a/Version.lua b/Version.lua index 3f6e0fa..3b78f3d 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Wall NAME = 'Wall' -VERSION = '2.7j2' +VERSION = '2.7k1' MIN_EXE = '2.7f2'