- in LapJoint con Q08=2 ora si usa sidemill anche se groove 3 blind da sopra

This commit is contained in:
luca.mazzoleni
2025-11-14 12:46:19 +01:00
parent 697965b30b
commit 4458c174e8
+8 -5
View File
@@ -2073,8 +2073,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 +2902,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 +2911,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 == 2)
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 +2921,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 +2937,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